В Ubuntu 19.04 использование области подкачки имеет неожиданное поведение. При извлечении файла или копировании файлов во внешнее устройство хранения данных, ОС начинает использовать область подкачки и не выпускает его после выполнения той задачи. Это замедляет скорость при копировании во внешний диск, и в долгосрочной перспективе это может повредить жесткий диск.
Как я могу заблокировать это поведение своей ОС?Примечание: Это происходит начиная с Ubuntu 19.04. Теперь я нахожусь на 19.10, и проблема все еще существует.
Начальное выделение памяти:
total used free shared buff/cache available
Mem: 7861 900 5727 154 1233 6538
Swap: 1952 0 1952
Выделение памяти после выполнения некоторых операций файла:
total used free shared buff/cache available
Mem: 7861 1448 146 239 6265 5871
Swap: 1952 38 1914
Подкачка привыкла к странице recently unused, but active
страницы памяти. Это обычно происходит при тяжелом использовании.
, Если Вы смотрите на Ваш free -h
вывод команды после операции копии файла, любитель/кэш пошел от 1 233 до 6 265, используемый в качестве буфера файлов / кэш... и с только 8G RAM, что-то должно было быть разбито на страницы для свопинга, как Вы видите, Использование оперативной памяти пошло от 900 до 1 448, и подкачка пошла от 0 используемых до 38 используемых.
Абсолютно нормальный.
После некоторых операций файла 38 МиБ записаны для свопинга. Это ничто . Это - вероятно, некоторое программное обеспечение, которое это не запускает активно, но просто hogging память. Проигнорируйте его. Это нормально.
ядро решило, что память, занятая незапущенным приложением, могла лучше привыкнуть к файлам кэша, чем содержать то приложение, поскольку это было неактивно. Это, вероятно, верно.
В целом, не волнуйтесь об использовании подкачки, пока у Вас есть свободная память для выполнения безотносительно программного обеспечения, которое Вы хотите, и сумма свопинга является низкой. У Вас есть много свободной памяти. Позвольте ядру обработать свопинг для Вас.
Я столкнулся со статьей о свопинге, который связан с Вашим вопросом. Я отправляю ссылку как ответ здесь вместо комментария, потому что использование или не использование подкачки являются все еще высоко обсужденной темой в Linux.
https://haydenjames.io/linux-performance-almost-always-add-swap-space /
наиболее важные моменты в этой статье:
- , Даже если существует все еще доступная RAM, Ядро Linux переместит страницы памяти, которые почти никогда не используются в область подкачки.
- It’s лучше для выгрузки страниц памяти, которые были неактивны некоторое время сохранив часто используемые данные в кэше и это должно произойти, когда сервер является самым неактивным, который является целью Ядра.
- установка Avoid Ваша область подкачки, слишком большая, если это приведет к продлению проблем производительности, отключений электричества или Ваше время отклика (без надлежащего контроля/предупреждений).
К концу статьи два параметра ядра swappiness
и vfs_cache_pressure
упоминаются, который можно хотеть экспериментировать, если Вы все еще не удовлетворены своим текущим поведением подкачки.