Вы установили SAVEHIST=10000
, но Вы уехали HISTSIZE
в его значении по умолчанию 30. Это означает, что любая сессия сохранит самое большее 30 записей в памяти. Из-за append_history
опция, файл истории может содержать больше истории, чем сохраненный в память. Если запись, которую Вы ищете, не будет в памяти, то это не будет найдено.
Легкая фиксация: набор SAVEHIST
быть больше. Большую часть времени SAVEHIST
и HISTSIZE
должно быть то же значение.
Если бы Вы чрезвычайно нуждаетесь в памяти, я предполагаю, что имело бы смысл сохранять меньше записей в памяти и загружать их только при поиске их. Но это походит на большое кодирование усилия для довольно небольшого преимущества (10 000 записей были бы чем-то как мегабайт, который является большим для экземпляра оболочки, но не вне рассмотрения).
Вы позволили бы сократить расход горючего из своих записей истории с hist_ignore_all_dups
опция (вместо hist_find_no_dups
).
Рассмотрите использование virtio. Это позволяет прямое подключение между VM, и хост без потребности эмулировать (замедляют) аппаратные средства. Я измерил высокие улучшения производительности сети с ним.
Например, можно включить virtio сетевое устройство kvm параметром командной строки "-сеть nic, model=virtio".
При использовании virtio блочных устройств обратите внимание на то, что новые имена устройств затем "vda1" и т.д., но это должно быть не проблемой, так как текущие дистрибутивы Linux обнаруживают разделы согласно своим UUID.
Это могла бы быть проблема Диска производительность ввода-вывода в госте. При использовании образа диска немного шагов применяются, чтобы иметь лучшую производительность:
Ели, необходимо будет играть вокруг с cache
опция настройки дисков Вашего гостя.
По умолчанию, writethrough кэширование используется для всего блочного устройства. Это означает, что кэш страницы хоста будет использоваться, чтобы считать и записать данные, но уведомление о записи будет отправлено гостю только, когда о данных сообщили, как записано подсистемой внешней памяти.
Кэширование обратной записи сообщит о записях данных, как завершено, как только данные присутствуют в кэше страницы хоста. Это безопасно, пока Вы доверяете своему хосту. Если Ваш хост разрушает или теряет питание, то гость может испытать повреждение данных. При использовании - опция снимка, кэширование обратной записи используется по умолчанию.
Страницы хоста можно избежать полностью с cache=none. Это попытается сделать диск IO непосредственно к гостевой памяти. QEMU может все еще выполнить внутреннюю копию данных.
Некоторые драйверы блока работают плохо с cache=writethrough, прежде всего, qcow2. Если производительность более важна, чем правильность, cache=writeback должна использоваться с qcow2. По умолчанию, если никакое явное кэширование не будет указано для qcow2 образа диска, то cache=writeback будет использоваться. Для всех других типов диска cache=writethrough является значением по умолчанию.
Затем необходимо будет также играть вокруг с опцией лифта ядра: необходимо будет добавить elevator=noop
в Вашей личинке командная строка Linux как это:
# Edit your /etc/default/grub.conf (on Debian-based distribution)
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop"
Лучший explaination этого доступен в: http://lonesysadmin.net/2008/02/21/elevatornoop/; но в нескольких словах, хост ядро Linux и гость ядро Linux и пытается оптимизировать ввод-вывод, и это имеет тенденцию быть хуже, чем что-нибудь для гостя (гость должен оставить эту задачу хосту).
-net nic -net user
. Не забудьте добавлять-net user
после virtio опции. – casualunixer 27.03.2012, 02:58