Как узнать в какие папки и какими процессами пишется на SSD?

Домашний сервер Debian Wheezy. 1 SSD 120Gb + 2HDD 1Tb. Nginx + MariaDB+Proxy DNS (PDNS) +php-fpm5.3+ZendOpcache+Redis+FTP+samba+postfix+procmail+vnstat+SSH+drush+SOLR+transmission+Drupal 4 сайта - Aegir, Chive, Webmin - панели управления. И ещё по мелочи. :)))
Два софт рейда.
SSD + раздел HDD 1 в гибридном рейде - зеркало, HDD с параметром writes mostly, что значит запись преимущественно идёт сначала на него, а чтение в основном с SSD. + раздел второго HDD указан spare для hot swap.
Второй рейд - зеркало, разделы по 800Gb на HDD.
Ещё два раздела по 4Gb в конце каждого диска не в рейде. Один под swap, второй под /var/log.

Параметры монтирования - relatime, TRIM по расписанию раз в неделю через скрипт в cron.weekly, логит в /var/log
На (зеркале с) SSD система и всё остальное, на HDD загрузки торрентов и файловый архив.
Что-то постоянно пишет мелкими файлами в SSD. Суммарно набирается 6-8Gb в сутки. Это в общем не страшно, потому что гарантия 5 лет учитывает до 20Gb записи в сутки, но меня напрягает что пишется именно мелкими файлами (iotop показывает), что крайне не желательно для SSD. Я могу конечно сделать trim почаще, но хотелось бы выяснить кто и куда пишет, и по возможности перенести эти папки (кроме базы данных и кэшей вроде редиски, потому что зачем тогда SSD). Но оказывается трудно найти какой процесс пишет в какую папку. Порылся в гугле, какие-то ужасные решения через дампы памяти. Есть ли какой-то простой способ узнать кто и куда пишет, например через время обновления файлов или ещё как? Как бы вы решали эту задачу?
  • Вопрос задан
  • 3618 просмотров
Пригласить эксперта
Ответы на вопрос 2
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Утилиткой lsof /my/mount/folred
Ответ написан
@gosvamih Автор вопроса
Короче, процесс виновник похоже найден. Через вывод iotop -oa. Это процесс ядра, который журналирует массивы и диски.
285 be/3 root 0.00 B 86.00 M 0.00 % 0.63 % [jbd2/md2-8]
Причём "поганец" постоянно пишет что-то насчёт массивов, поток логов относительно разделов не велик. Надо узнать куда пишет и как это исправить. Решение нашёл:
в файле /usr/lib/pm-utils/power.d/journal-commit
нужно изменить одну строку JOURNAL_COMMIT_TIME_AC=${JOURNAL_COMMIT_TIME_AC:-0}
вместо нуля я поставил 120

Однако у меня нет такого файла. pm-utils не установлены, потому что не используется ни режимы сна, ни остановки дисков.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы