Как очистить кэш-память и буфер кэш-памяти в Linux

12 set 2022 2 min di lettura
Как очистить кэш-память и буфер кэш-памяти в Linux
Indice dei contenuti

Введение

Много раз системы Linux могут испытывать проблемы с нехваткой памяти после некоторого времени работы. Причина в том, что Linux использует много памяти для дискового кеша, так как ОЗУ тратится впустую, если не используется. Кэш используется для хранения данных, которые часто используются операционной системой. Чтение данных из кэша происходит намного быстрее, чем чтение данных с жесткого диска. Операционная система может получать данные из кэша в памяти. Но если данные не были найдены в кеше, они считываются с жесткого диска. Так что не проблема очистить кэш-память.

В этой статье объясняется, как очистить кеш памяти на сервере Linux.

Если вы хотите очистить кеш на удаленном сервере, продолжайте читать, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.

Подключение к серверу

Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:

ssh root@IP_DEL_SERVER

Далее вам нужно будет ввести пароль пользователя root.

Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:

ssh nome_utente@IP_DEL_SERVER

Затем вам будет предложено ввести пароль пользователя.

Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Очистить кэш буфера памяти

Есть три варианта очистки кеша памяти Linux. Используйте один из следующих в соответствии с вашими потребностями.

  • Чтобы очистить память страниц, dentries и inode:
sync; echo 3 > /proc/sys/vm/drop_caches

Если вы используете не пользователя root, а пользователя с привилегиями sudo:

sudo sh -c 'echo 3 >/proc/sys/vm/drop_caches'
  • Чтобы очистить память dentries и inode:
sync; echo 2 > /proc/sys/vm/drop_caches

Если вы используете не пользователя root, а пользователя с привилегиями sudo:

sudo sh -c 'echo 2 >/proc/sys/vm/drop_caches'
  • Чтобы очистить только память кэша страниц:
sync; echo 1 > /proc/sys/vm/drop_caches

Если вы используете не пользователя root, а пользователя с привилегиями sudo:

sudo sh -c 'echo 1 >/proc/sys/vm/drop_caches'

Запланируйте Cron для регулярной очистки кеша

Рекомендуется запланировать cron для автоматической очистки кэша через равные промежутки времени с помощью crontab.

Используйте команду crontab -e для редактирования cron в вашей системе:

crontab -e

Добавьте следующую строку:

0 * * * * sync; echo 3 > /proc/sys/vm/drop_caches

Приведенный выше cron будет запускаться каждый час и очищать кеш памяти в системе. Вы можете настроить cron для запуска в любое время с заданными временными интервалами, для получения дополнительной информации прочитайте этот учебник.

Найти кеши, используемые в Linux

Используйте free команду, чтобы узнать, как кэш-память используется системой Linux:

free -mh

Вы должны увидеть выходное сообщение, подобное следующему:

 total used free shared buff/cache available
 Mem: 1.9Gi 524Mi 146Mi 73Mi 1.2Gi 1.1Gi
 Swap: 0B 0B 0B

Параметр -mh удобен для более удобного чтения результатов вывода. С этой опцией легко различать мегабайты и гигабайты.

Вывод

В этом руководстве мы увидели, как очистить кэш памяти и буфер кэша в Linux.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.