Да, вам всегда нужен некоторый своп, только в том маловероятном случае, когда приложение даже не утруждает себя отображением памяти, а напрямую отображает виртуальную память.
Установите для файла подкачки значение:
RAM+round(sqrt(RAM))
если вы используете режим гибернации round(sqrt(RAM))
если нет Установите для swappiness
значение 10 на рабочем столе, , но не на сервере!
Эмпирическое правило, используемое в течение последних 25 лет, было минимум 1xRAM и максимум 2xRAM , так что это то, что вы будете постоянно цитировать.
Этот минимум был установлен еще в каменном веке , когда я был подростком, а динозавры все еще бродили по Земле, и потому что оперативная память была слишком дорогой, и вам было абсолютно необходимо это пространство подкачки, чтобы иметь возможность выполнить что-либо.
Максимум был установлен в то время из-за убывающей отдачи :это слишком медленно, чтобы подкачивать столько памяти, так как доступ к жесткому диску в 1000 раз медленнее, чем к ОЗУ :хорошо в экстренной ситуации, но не совсем хорош для повседневного использования! В то время, когда у вас закончилось пространство подкачки, пришло время добавить больше оперативной памяти! (, что верно и сегодня ).
Если вы не используете режим гибернации, а объем памяти превышает 1 ГБ, новое эмпирическое правило звучит так: round(sqrt(RAM))
, где RAM
— это, очевидно, размер вашей оперативной памяти в ГБ, а sqrt
— квадратный корень.:-)
Если вы используете режим гибернации, вам необходимо иметь возможность подкачать на диск весь объем ОЗУ + уже подкачанную ОЗУ, поэтому формула принимает вид:RAM+round(sqrt(RAM))
Правило убывающей отдачи все еще действует сегодня для максимума, но если вы не проверите свое фактическое использование, использование 2xRAM — это просто пустая трата дискового пространства , поэтому не используйте максимум Если только у вас заканчивается пространство подкачки при использовании других методологий .
Все это вместе дает вам следующую таблицу:(последние 3 столбца, обозначающие пространство подкачки)
RAM No hibernation With Hibernation Maximum
1GB 1GB 2GB 2GB
2GB 1GB 3GB 4GB
3GB 2GB 5GB 6GB
4GB 2GB 6GB 8GB
5GB 2GB 7GB 10GB
6GB 2GB 8GB 12GB
8GB 3GB 11GB 16GB
12GB 3GB 15GB 24GB
16GB 4GB 20GB 32GB
24GB 5GB 29GB 48GB
32GB 6GB 38GB 64GB
64GB 8GB 72GB 128GB
128GB 11GB 139GB 256GB
256GB 16GB 272GB 512GB
512GB 23GB 535GB 1TB
1TB 32GB 1TB 2TB
2TB 46GB 2TB 4TB
4TB 64GB 4TB 8TB
8TB 91GB 8TB 16TB
Вышеизложенное всего лишь эмпирическое правило;Это не закон всемирного тяготения!
Вы можете нарушить это правило (в отличие от закона всемирного тяготения ), если ваш конкретный вариант использования отличается!
Профессиональный совет:Всегда назначайте SWAP в начале жесткого диска, так как головки должны меньше двигаться внутри диска.
Да:На твердотельных накопителях больше не имеет значения, где находится область подкачки, поскольку они используют квантовое -туннелирование вместо движущихся головок, а современные твердотельные накопители используют все свои ячейки памяти (, даже нераспределенное пространство )для предотвращения квантовой деградации.
Просто выполнить:
for szFile in /proc/*/status ; do
awk '/VmSwap|Name/{printf $2 "\t" $3}END{ print "" }' $szFile
done | sort --key 2 --numeric --reverse | more
который даст вам список всех запущенных программ, которые были выгружены (с той, которая использует больше всего пространства подкачки вверху)
Если вы используете больше нескольких килобайт :увеличьте размер до минимума, в противном случае не беспокойтесь...
Если вы используете настольный/портативный клиент (, а не сервер ), вы хотите, чтобы ваш графический интерфейс был как можно более отзывчивым и менялся только тогда, когда вам действительно нужно . Ubuntu был оптимизирован для раннего свопинга для использования на сервере, , но на вашем клиенте вы хотите, чтобы это огромное 250-мегапиксельное -необработанное изображение в gimp
было быстрым , поэтому установите для swappiness
значение 10. предотвратит слишком раннюю подкачку ядра, гарантируя, что она не подкачается слишком поздно:
Если у вас есть файл sysctl.conf
,
sudo nano /etc/sysctl.conf
Если у вас есть каталог sysctl.d
, но нет файла sysctl.conf
, создайте новый файл:
sudo nano /etc/sysctl.d/35_swap.conf
и в обоих случаях добавить:
# change "swappiness" from default 60 to 10
# (theoretically only swap when RAM usage reaches around 80 or 90 percent)
vm.swappiness = 10
в конец файла, сохраните файл(Ctrl + XY + Введите в nano )и выполните:
sysctl --system
для перезагрузки параметра или использования подхода Window$ и перезагрузки...:-)
Для этого необходимо разрешение имен. Это может быть DNS, но если бы у вас был собственный DNS-сервер, вы бы задали другой вопрос. Так что я думаю, вы не знаете. Нет DNS-сервера, нет разрешения имен на основе DNS -.
Другим методом разрешения имен является /etc/hosts
. Вы можете просто добавить hostname.local
в файл /etc/hosts
на хосте гипервизора. Вероятно, самое простое решение, особенно если вы не получаете доступ к виртуальной машине с других компьютеров.
Третьим широко используемым методом является mDNS . Он опирается на службу, работающую на виртуальной машине, которая отвечает на запросы типа «У кого есть имя hostname.local
?». В Linux эта служба обычно называется «Avahi». Возможно, ваш Raspberry Pi запускает его, а ваша виртуальная машина — нет. Или, возможно, запросы mDNS не достигают виртуальной машины.
Чтобы узнать, какие методы разрешения имен включены, см. пунктhostsв файле /etc/nsswitch.conf
.