nyaload

Журнал Пушыстого

Журнал Пушыстого

Previous Entry Share Next Entry
inspect/purge file cache - vmtouch
nyaload
_winnie
1) узнал про тулзу vmtouch. С её помощью можно убрать файл из кеша (-e), можно узнать на сколько процентов файл загружен в память (-v). Что бы не жаловался на большие файлы — флажок -m 1000G

$tail -c 2000000000 big_file.txt >/dev/null   #загружаю в файл-кеш хвост и начало файла
$head -c 1000000000 big_file.txt >/dev/null
$vmtouch -m 1000G -v big_file.txt
big_file.txt
[Oo                     oOOOO] 729329/2453673 #визуальный просмотр загруженных страничек

Resident Pages: 729329/2453673 2G/9G 29.7%    #информация о доле загруженных страничек


2) поскольку регулярно случайно убиваю долго работающие процессы в консоли - то вместо time ./run.sh теперь делаю time ./run.sh >log.txt 2>&1 & tail -f log.txt
Tags:

  • 1
Круто, спасибо. У меня для таких целей с 2001-года написан специальный драйвер для ядра. Он, к сожалению, глючил для USB дисков. Здорово, если vmtouch действительно стабильно работает. Мне любопытно, как vmtouch может сбрасывать кеши файлов, да еще кроссплатформенно, без залезания в ядро.

Edited at 2012-05-31 06:50 pm (UTC)

У него в man подробно описано про это

( BTW, наверное кеши внутри железа он не трогает, но они малюсенькие, на десятки мегабайт ).

А они используют posix_fadvise. Вряд ли это стабильно работает.

Можно этой же тулзой проверить, что это сработало. Глазами или автоматически и warning написать.

Экспериментировал под ubuntu hardy:
Файл открытый в другом процессе из под рута таким образом не был вытеснен.
Другие комбинации (тому же пользовтелю, обычному пользователю из под рута) не пробовал.
Файл который ни кем не использовался - был убран из кеша.

У меня, на самом деле, даже с вытеснением через ядро было много приколов. Если файл только читался, то работало на ура. Если файл сначала читался, то кеши сбрасывались частично. Полная зачистка памяти помогала. Раньше я для этого читал огромный файл, теперь можно сделать
с помощью
echo XXX > /proc/sys/vm/drop_caches
XXX выбирается по обстоятельствам.

Edited at 2012-05-31 08:12 pm (UTC)

  • 1
?

Log in