The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Как очистить кэш файловой системы в..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Как очистить кэш файловой системы в..."  +/
Сообщение от auto_tips (ok) on 09-Сен-07, 20:29 
Начиная с Linux ядра 2.6.16 появилась возможность принудительной очистки системных кэшей:

Чистим pagecache:
   echo 1 > /proc/sys/vm/drop_caches

Чистим dentrie и inode кэши:
   echo 2 > /proc/sys/vm/drop_caches

Чистим pagecache, dentrie и inode кэши:
   echo 3 > /proc/sys/vm/drop_caches

После выполнения операции необходимо запустить команду sync

URL: http://linux-mm.org/Drop_Caches
Обсуждается: http://www.opennet.dev/tips/info/1455.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как очистить кэш файловой системы в Linux ядре"  +/
Сообщение от const86 email(ok) on 09-Сен-07, 20:29 
Полезная фича для бенчмарков файловых систем. А ещё для чего-нибудь может пригодиться?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Как очистить кэш файловой системы в Linux ядре"  +/
Сообщение от Антон (??) on 10-Сен-07, 12:23 
>Полезная фича для бенчмарков файловых систем. А ещё для чего-нибудь может пригодиться?

Например, иногда для выполнения программы нужно сразу много памяти и очень соблазнительно взять ее из дискового кэша который до метров двухсот вырос. Мгновенно он не уменьшится, только через некоторое время, а нужно прямо сейчас иначе предстоит долгое наблюдение за своппингом.


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

5. "Как очистить кэш файловой системы в Linux ядре"  +/
Сообщение от const86 email(ok) on 10-Сен-07, 18:44 
Не замечал подобных явлений.
Вот например, свободной памяти почти нет, большой дисковый кеш. В свопе пусто. Запускаю толстую прогу. Кеш сразу уменьшается, прога умещается в оперативку, своп по-прежнему пустой. "Что я делаю не так?" :)
Вообще, по личным наблюдениям, дисковый кеш можно считать свободной памятью. Потому что прежде, чем лезть в своп, система пожертвует кешем.
Может, если vm.swappiness поставить побольше... но зачем это делать?
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

2. "Как очистить кэш файловой системы в Linux ядре"  +/
Сообщение от weec email(ok) on 10-Сен-07, 11:25 
под FreeBSD есть вариант?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Как очистить кэш файловой системы в Linux ядре"  +/
Сообщение от Аноним on 10-Сен-07, 12:18 
Ну как же, дефрагментатор памяти можно написать, и продавать ;)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Как очистить кэш файловой системы в Linux ядре"  +/
Сообщение от Александр (??) on 20-Сен-07, 14:36 
Уважаемый автор!
Когда пишите документ - указывайте ссылки!
В http://linux.die.net/man/5/proc написано совершенно обратное. sync надо выполнять *до* echo!!!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Как очистить кэш файловой системы в Linux ядре"  +/
Сообщение от tarantin on 20-Сен-07, 16:41 
Автор так и писал:
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

12. "Как очистить кэш файловой системы в Linux ядре"  +/
Сообщение от Аноним (??) on 20-Окт-08, 16:59 
>Автор так и писал:

Зависит от того, по какому URL вы это читаете :)

http://www.opennet.dev/tips/info/1455.shtml

>Перед выполнением операции необходимо запустить команду sync

http://www.opennet.dev/openforum/vsluhforumID3/38369.html#3

>После выполнения операции необходимо запустить команду sync

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

16. "Как очистить кэш файловой системы в Linux ядре"  +/
Сообщение от TomB email on 20-Июн-10, 22:37 
>Уважаемый автор!
>Когда пишите документ - указывайте ссылки!
http://linux.die.net/man/5/proc написано совершенно обратное. sync надо выполнять *до* echo!!!

В самом деле sync вообще не обязательно делать, просто если сделать до echo , то после echo могжет очиститься ещё и кэш с незаписанными на диск данными.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

24. "Как очистить кэш файловой системы в Linux ядре"  +/
Сообщение от linux0id on 23-Окт-13, 05:35 
> после echo могжет очиститься ещё и кэш с незаписанными на диск данными.

НЕ может.
cache ≠ buffer
Буферы записи не затрагиваются записью любого значения [1|2|3] в drop_caches, т.к. память эта относится к «dirty objects». В документации ядра про sync написано лишь затем, чтобы администратор системы получил максимальный эффект от выполненной операции.
Что будет с sync: «dirty objects» → «clean objects» → «drop caches» → «free memory»
Что будет без sync: «dirty objects» → «drop caches» → «free memory» + «dirty objects»
Т.е. без sync буферы продолжат существовать нетронутыми пока до них не дойдёт очередь в потоке ядра pdflush. Когда данные будут записаны на диск, тогда станет возможной их очистка из памяти, а sync просто принуждает записать на диск «прямо сейчас». Причём, sync нужно запускать дважды, по-хорошему.
Будет максимальное высвобождение памяти от последовательности команд:
sync && sync && echo 3 > /proc/sys/vm/drop_caches
Как-то так.

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

9. "Как очистить кэш файловой системы в Linux ядре"  +/
Сообщение от name (??) on 26-Сен-07, 01:51 
Как проверить, что это сработало?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Как очистить кэш файловой системы в Linux ядре"  +/
Сообщение от Тузик on 02-Окт-07, 23:17 
Комманда free, колонка cached. Запустить до и после, чтобу прочувствовать разницу.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Как очистить кэш файловой системы в Linux ядре"  +/
Сообщение от CISCO email(??) on 31-Янв-08, 05:55 
а как в FreeBSD?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Как очистить кэш файловой системы в Linux ядре"  +/
Сообщение от pavlinux (ok) on 20-Окт-08, 20:26 
sysctl -w vm.drop_caches=65535
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Как очистить кэш файловой системы в Linux ядре"  +/
Сообщение от Анатолий email(??) on 08-Фев-10, 19:09 
Уважаемый АВТОР, искренне выражаю Вам свою благодарность за данную статью, очень помогла.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

15. "Как очистить кэш файловой системы в Linux ядре"  +/
Сообщение от ZayDen email(??) on 16-Мрт-10, 19:27 
very good :)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

17. "Как очистить кэш файловой системы в Linux ядре"  +/
Сообщение от Серга email on 23-Июн-10, 15:50 
Спасибо огромное, теперь не придется перезагружать каждый раз сервер, а можно как-нибудь поставить ограничение кэша например на 512 мб?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

18. "Раздел полезных советов: Как очистить кэш файловой системы в..."  +/
Сообщение от Дмитрий (??) on 13-Апр-11, 13:21 
> Начиная с Linux ядра 2.6.16 появилась возможность принудительной очистки системных кэшей:
> Чистим pagecache:
>    echo 1 > /proc/sys/vm/drop_caches
> Чистим dentrie и inode кэши:
>    echo 2 > /proc/sys/vm/drop_caches
> Чистим pagecache, dentrie и inode кэши:
>    echo 3 > /proc/sys/vm/drop_caches
> После выполнения операции необходимо запустить команду sync
> URL: http://linux-mm.org/Drop_Caches
> Обсуждается: http://www.opennet.dev/tips/info/1455.shtml

Большое спасибо!

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

19. "Как очистить кэш файловой системы в Linux ядре"  +/
Сообщение от Владимир email(??) on 13-Июл-11, 16:15 
Автору СПАСИБО!!! Несколько лет искал эту инфу!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

20. "Как очистить кэш файловой системы в Linux ядре"  +/
Сообщение от Дмитрий email(??) on 29-Ноя-11, 23:48 
А зачем их чистить? Это же не мусор в памяти.
Память фактически свободна для процессов.
Понадобится, возьмет сколько надо.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

21. "Как очистить кэш файловой системы в Linux ядре"  +/
Сообщение от weec email(??) on 30-Ноя-11, 08:52 

для ситуёвин в которых нужен пустой кеш
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

22. "Как очистить кэш файловой системы в Linux ядре"  +/
Сообщение от Alex (??) on 22-Янв-12, 14:47 
По первой комманде выдаёт -
bash: /proc/sys/vm/drop_caches: Permission denied
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

23. "Как очистить кэш файловой системы в Linux ядре"  +/
Сообщение от Сергей Савельев on 24-Дек-12, 12:24 
Надо запускать от пользователя root
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

25. "Как очистить кэш файловой системы в UBUNTU "  +/
Сообщение от олег on 28-Май-14, 19:40 
Подробно мозете написат?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру