Опция монтирования commit, система меня не слушается?
haku 16 Августа, 2011 - 20:07
Цитата из man mount:
commit=nrsec Sync all data and metadata every nrsec seconds. The default value is 5 seconds. Zero means default.
т.е. по дефолту (commit=0) сброс данных и метаданных на диск происходит каждые 5 секунд. Хочу увеличить этот временной интервал, пишу в fstab следующее:
UUID=975ac0a8-6e54-46fa-b9c4-58ca9a115efb / ext4 discard,relatime,nodiratime,commit=120 0 1
После перезагрузки в dmesg имею:
[ 2.205050] EXT4-fs (sda5): mounted filesystem with ordered data mode. Opts: (null) [ 4.723647] EXT4-fs (sda5): re-mounted. Opts: discard,commit=120 [ 11.856111] EXT4-fs (sda5): re-mounted. Opts: discard,commit=120,commit=0
а так-же
# mount | grep root rootfs on / type rootfs (rw) /dev/root on / type ext4 (rw,nodiratime,relatime,discard,commit=120,commit=0)
Господа, что я делаю не так? Почему опция commit в выводе команды mount указана дважды и как это понимать? Как сделать так, чтобы сброс данных и метаданных на диск происходил пореже?
»
- Для комментирования войдите или зарегистрируйтесь
Боюсь, что с Opts только
Боюсь, что с
только ядерная багзилла тебе поможет.
Вы Opts с oops случайно не
Вы Opts с oops случайно не перепутали?
каюсь, попутал ))
каюсь, попутал ))
временной интервал, пишу в
хех. прикольно =) опции монтирования корневого раздела писать в файл, лежащий на том же корневом не смонтированном разделе
может все таки man 7 bootparam и /usr/src/linux/Documentation/kernel-parameters.txt ; если юзается initrd , то прочитав, что пишет genkernel при генерации
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
Это тут несущественно,
Это тут несущественно, цитата:
P.S. Ядро без initrd, собирается руками, без genkernel.
НЕ РЕШЕНО
[НЕ РЕШЕНО]
Перенёс корень обратно с SSD на HDD, потому что 420 Гб записей на десятигиговый раздел в сутки для меня неприемлимо много.
haku написал(а): [НЕ
А что пишите в таких количествах?
Возможно вас немного успокоит это - http://www.xtremesystems.org/forums/showthread.php?271063-SSD-Write-Endurance-25nm-Vs-34nm
З.Ы. Я бы посоветовал попробовать хфс - она быстрее, и уже по умолчанию пишет на диск реже и большими блоками чем ехт4.
Ну и вдруг не видели - http://www.gentoo.ru/node/23415
По идее, при обычном
По идее, при обычном использовании на корневой раздел пишется только в /var/ (но на несколько порядков меньше 420Гб)
ps 420*1024/24/3600 = 4.98Мб/с средняя скорость записи. это нужен 40 Мбитный канал в инет, что бы качать торенты на такой скорости )
По данным S.M.A.R.T. Параметр
По данным S.M.A.R.T. Параметр 0xAD "Wear Leveling Count" растёт примерно на 4 в сутки (50 менее чем за две недели), что соответствует примерно цифре 120*4 = 480 гигабайт стираний. Это неприемлимо, учитывая что /tmp и /var/tmp вынесены в tmpfs. Торренты на ssd не качаю, разделы выровнены, свободного места более половины раздела, TRIM включён и работает. На ssd практически ничто не пишется (судя по iotop -a и tune2fs -l /dev/sda4 | grep eti набегает 3-8 Гб в день), но тем не менее: около 480 гигабайт стираний в сутки на протяжении полутора недель :(
Могу лишь предположить что имеется какая-то несовместимость на уровне взаимодействия системы с контроллером ssd (crucial c300), но решить эту проблему не могу.
P.S. Ради чистоты эксперимента (а вдруг брак?) накатил на него вчера окна (7 64 sp1), пока AD не растёт.
haku написал(а): Могу лишь
У меня ssd на том же контроллере, но с другим firmware (M4 64GB), и за месяц активной эксплуатации Wear Leveling Count = 9, что для 128 ГБ вообще = 4,5.
Как думаешь, в чём может быть
Как думаешь, в чём может быть дело (у меня идеи закончились)? У меня SATA-3 контроллер чипсетный (AMD 870 (RD870 + SB850)), работает в ACHI режиме, ядро 3.0.3, файловая система ext4, разделы выровнены по 1МиБ (2048 сектора по 512 байт).
Просто факт остаётся фактом: при отсутствии нагрузки AD растёт ужасно быстро именно в linux :(
haku написал(а): Как думаешь,
Ну давай подумаем/погадаем.
Вы говорите, что записи всего 3-8 ГБ в день (это точные данные? ваша методика измерения мне не совсем понятна, перепроверите с помощью iostat). При этом получается 480 ГБ стираний. Как бы вывод напрашивается следующий - какие-то файлы на SSD постоянно модифицируются на пару байт-килобайт (~45 раз/файлов в секунду) и при этом очень часто происходит sync. Так как у SSD минимальным блок стирания обычно 128КБ, то даже из-за 1 бита реальной записи приходиться стирать 128КБ. Так что в таком случае при 3-8 ГБ реально получить 480 ГБ стираний.
Другое дело что так быть не должно. Тут мы возвращаемся к моему совету попробовать XFS. Там отложена запись имеется испокон веков (тогда как к ext4 ее прикрутили плоскогубцами только в ядре 2.6.27) и она проблему с постоянно меняющимися файлами достаточно неплохо решает.
Ну и (или) искать эти злополучные файлы и приложение которое их создает/меняет. Впрочем, если это, например, журнал самой ext4, то ничего вы не найдете.
З.Ы. TRIM точно-точно работает? Проверять например так - http://www.gentoo.ru/node/23415#comment-173874
З.З.Ы. Если б не это:
подумал бы еще на очень активно использующийся свап...
загадочная фигня
По-моему я опечатался: iostat -a запущенный на пару часов показывает злобных потребителей ресурса io, и журналы там тоже светятся (как строки вида [jbd2/sda2-8]). Это как бы "прямой" способ прикинуть объёмы записи. Ещё в свойствах файловой системы EXT4 можно посмотреть общее суммарное количество записей за всё время её существования (это tune2fs -l /dev/sda4 | grep eti). Два способа измерения имхо вполне достаточно, далее:
swap я вынес на hdd (т.к. система им практически не пользуется да и места жалко на sdd)
/tmp и /var/tmp перенёс в tmpfs
Все эти меры не помогли, поэтому в дополнение к ним добавил в /etc/local.d/my.start строку вида
что тоже не дало эффекта.
TRIM проверял по этому методу -- нулики, значит работает.
В принципе тут могут быть три виновника: какие-либо подсистемы ядра (к примеру при работе с ACHI), ошибки в реализации ext4 либо особенности работы контроллера sdd. Вобщем пока подумаю, если будут подвижки отпишусь. Ещё на всякий случай пересоберу мир и ядро.
EXT4-fs (sda5): re-mounted.
EXT4-fs (sda5): re-mounted. Opts: discard,commit=0 перемонтирование корневого раздела с параметром commit=0 вызывает стартовый сценарий xorg-server`а (xdm), или одна из его зависимостей., что бы убедится в этом уберите из уровня исполнения запуск xdm, на 12 консоли, туда выводит лог dmesg syslog-ng смотрите за системными сообщениями, затем запустите xdm, /etc/init.d/xdm start и смотрите лог на 12 консоли (dmesg) - вы увидите перемонтирование корневого раздела с параметром commit=0.
$ mount | grep root rootfs on
при параллельном запуске сервисов xorg стартует быстрее local.d
haku написал(а): По-моему я
Нет, не опечатались - iostat и iotop это разные утилиты.
Недостаток мониторинга с помощью iotop -a в том, что он отображает только живые процессы. А пару часов следить...
Прямой, простой, способ узнать точные объемы - iostat. А конкретней, например, iostat -d -m -t покажет что-то такое:
В мануале узнаете другие подробности.
Ждем, интересно в чем таки проблема.
:)
Изучить файл /usr/lib/pm-utils/power.d/journal-commit
Working on Gentoo Linux for Asus P535 and Qtopia :-)