URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 90456
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Выполнение команды с отключением ке..."

Отправлено auto_tips , 16-Июн-13 18:35 
В некоторых ситуациях необходимо выполнить операцию без влияния на кэш файловой системы, например, скопировать данные без их попадания в кэш. Для отключения кэша на уровне отдельных команд можно использовать утилиту [[https://github.com/Feh/nocache nocache]], перехватывающую вызовы open и close, и выполняя принудительно системый вызов posix_fadvise c параметром POSIX_FADV_DONTNEED.

В качестве одной из [[http://insights.oetiker.ch/linux/fadvise.html областей использования]] доступа к  ФС c отключением кэширования можно отметить выполнение резервного копирования без влияния на содержимое кэша - в обычных условиях копирование большого числа файлов вытеснит часть других данных из кэша, при этом заранее известно, что новые данные точно не будут востребованы в ближайшее время. Избежать оседания данных в кэше при копировании можно выполнив следующую команду:

   ./nocache cp -a ~/ /mnt/backup/home-$(hostname)

Другим применением может быть проведение тестов с исключением влияния кэша ФС.

URL: https://github.com/Feh/nocache
Обсуждается: http://www.opennet.ru/tips/info/2770.shtml


Содержание

Сообщения в этом обсуждении
"Выполнение команды с отключением кеширования операций с файловой системой в Linux"
Отправлено pavlinux , 16-Июн-13 18:35 

$ time ./nocache find /media/kernel/linux/
...
real    0m12.242s
user    0m1.219s
sys     0m0.868s

$ time ./nocache find /media/kernel/linux/
real    0m1.963s
user    0m1.015s
sys     0m0.475s

И че? И где?


"Выполнение команды с отключением кеширования операций с файл..."
Отправлено ABATAPA , 17-Июн-13 08:29 
Под рутом выполните.

"Выполнение команды с отключением кеширования операций с файл..."
Отправлено pavlinux , 17-Июн-13 15:25 
Неа, оно работает только на open(), с правами на запись, ну и соответственно wirte();
  

"Выполнение команды с отключением кеширования операций с файл..."
Отправлено Аноним , 18-Июн-13 13:54 
> Неа, оно работает только на open(), с правами на запись, ну и
> соответственно wirte();

Ну вот дирлист и "не закэшировался" :)


"Выполнение команды с отключением кеширования операций с файл..."
Отправлено Andrey Mitrofanov , 17-Июн-13 15:33 
> И че? И где?

Очевидно же, имеется в виду влияние на _другие процессы в системе через _вымывание кеша.

Так что пускай А:{1: сборку ядра; 2: ну, прибумай сам чего-н... полезное! нужное всем!!} + Б:{1: ничего больше; 2: копирование много больших файлов из from/ в to/ с удалением в цикле; 3: то же, что в 2, с _nohache_}. Ну, само собой, всё после холожной перезагрузки, несколько раз, отбрасывая оут-лаяры, и т.п. статистические must-have.

Воооот... Потом всё это в табличку и на pavlinux.ru -- фороникс слюной захлеюнётся.
А, да, сравнивать влияние на А: вариантов Б: и писать Умный Вывод в конце.


"Выполнение команды с отключением кеширования операций с файл..."
Отправлено pavlinux , 18-Июн-13 21:23 
>[оверквотинг удален]
> _вымывание кеша.
> Так что пускай А:{1: сборку ядра; 2: ну, прибумай сам чего-н... полезное!
> нужное всем!!} + Б:{1: ничего больше; 2: копирование много больших файлов
> из from/ в to/ с удалением в цикле; 3: то же,
> что в 2, с _nohache_}. Ну, само собой, всё после холожной
> перезагрузки, несколько раз, отбрасывая оут-лаяры, и т.п. статистические must-have.
> Воооот... Потом всё это в табличку и на pavlinux.ru -- фороникс слюной
> захлеюнётся.
> А, да, сравнивать влияние на А: вариантов Б: и писать Умный Вывод
> в конце.

Митрофаныч, обсуждение переплыло в житхаб, тут уже устарелые новости!
Будем мутить некэширование dirent, там чувак жаловался, что на 4 мегах оперативки,
рекурсивный обход 200 мильонов файлов это жопа для кэша!


"Выполнение команды с отключением кеширования операций с файл..."
Отправлено Аноним , 18-Июн-13 12:41 
real    0m12.242s
real    0m1.963s

"Выполнение команды с отключением кеширования операций с файл..."
Отправлено Павел Одинцов , 11-Авг-13 23:39 
Полезно, спасибо!

"Выполнение команды с отключением кеширования операций с файловой системой в Linux"
Отправлено A_n_D , 17-Июн-13 10:03 
Спасибо за инфу.