трим не работает

проверка на функционирование не пройдена. нули не выводятся. Проверял много-много раз.
Что делать?:)

0
MacLeod - 3 Февраль, 2014 - 08:56
Изображение пользователя MacLeod.

Как правило, очистка происходит не мгновенно. Я, помню делал раза четыре, разброс по времени - от 2 до 20 минут.
discard включен в fstab? при mount опция видна?

0
ozim - 3 Февраль, 2014 - 10:35

discard включен, как проверить при маунт?

0
MacLeod - 3 Февраль, 2014 - 10:38
Изображение пользователя MacLeod.

Ну, имелось в виду, вывод
mount
в скобках показывает discard у точки монтирования?

0
ozim - 3 Февраль, 2014 - 19:59

ssd у меня на корневом разделе, я не могу его отмонтировать и примонтировать, или не это имелось ввиду?

0
MacLeod - 3 Февраль, 2014 - 20:31
Изображение пользователя MacLeod.

Нет, просто mount без параметров выведет список всех точек монтирования. Проверьте, напротив корня в скобках должно быть указано discard.
Все же, еще раз проверьте какой планировщик используется, очищаются ли ячейки (удалите файл и попробуйте через 10-30 минут).
На крайний случай, можно будет воспользоваться утилитой fstrim, добавив задачу в крон с пониженным приоритетом, чтобы чистил ячейки раз в сутки.

0
ozim - 3 Февраль, 2014 - 21:18

есть дискард
[email protected]:~/.bin$ mount
/dev/sda1 on / type ext4 (rw,noatime,nodiratime,discard,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
/dev/sdb1 on /opt/lampp type ext4 (rw)
/dev/sdb2 on /home type ext4 (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
/dev/sr0 on /media/ozim/Backup_290909 type udf (ro,nosuid,nodev,uid=1000,gid=1000,iocharset=utf8,umask=0077,uhelper=udisks2)
[email protected]:~/.bin$ mount
/dev/sda1 on / type ext4 (rw,noatime,nodiratime,discard,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
/dev/sdb1 on /opt/lampp type ext4 (rw)
/dev/sdb2 on /home type ext4 (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
/dev/sr0 on /media/ozim/Backup_290909 type udf (ro,nosuid,nodev,uid=1000,gid=1000,iocharset=utf8,umask=0077,uhelper=udisks2)

0
MacLeod - 4 Февраль, 2014 - 18:00
Изображение пользователя MacLeod.

Повторную проверку проводили? Нули появились через более продолжительное время?
Если нет, уберите discard из fstab и попробуйте этот способ. Правда, его утверждения, что способ через discard неправильный - необоснованные. Просто бывают случаи, когда он не работает.

0
ozim - 4 Февраль, 2014 - 19:25

попробовал и этот метод - аналогично. Нулей нет.

0
MacLeod - 4 Февраль, 2014 - 19:34
Изображение пользователя MacLeod.

fstrim -v /
Говорит, сколько вычищено?
Там, опять же, через 10-30 минут результат бывает.

0
ozim - 4 Февраль, 2014 - 19:50

/: 53575921664 bytes were trimmed

0
MacLeod - 4 Февраль, 2014 - 19:55
Изображение пользователя MacLeod.

Так... а если повторно запустить, не перезагружаясь?

0
ozim - 4 Февраль, 2014 - 20:15

у меня сейчас трим отовсюду выключен, т.к. После попытки вернуть discard в fstab перестал подключаться хард.
/: 464822272 bytes were trimmed

0
MacLeod - 4 Февраль, 2014 - 20:31
Изображение пользователя MacLeod.

После попытки вернуть discard в fstab перестал подключаться хард
А это подозрительно. Может обновленная прошивка есть? Сайт производителя проверяли?

0
ozim - 4 Февраль, 2014 - 20:49

ой не рискну я сам ничего перепрошивать..

0
ozim - 4 Февраль, 2014 - 20:19

еще раз сразу сделал
/: 0 bytes were trimmed

0
MacLeod - 4 Февраль, 2014 - 20:30
Изображение пользователя MacLeod.

Ну, утилита работает. По крайней мере, полностью уверена в том, что работает. Т.е. команды на очистку контроллеру шлет, сообщений об ошибках не получает.

0
ozim - 4 Февраль, 2014 - 20:49

так что, может достаточно на крон эту команду повесить и все? не надо никаких дискардов включать? Я просто не понимаю, что оно делает.

0
MacLeod - 4 Февраль, 2014 - 20:53
Изображение пользователя MacLeod.

Да, поставьте в daily (раз в сутки) по статье выше.
Еще можно использовать что-то вроде ionice -c 3 fstrim -v / чтобы понизить приоритет этого действия, чтобы не мешало работе в момент выполнения.

0
ozim - 4 Февраль, 2014 - 20:56

стоп, а как же я его поставлю в крон, если оно требует рута..

0
MacLeod - 4 Февраль, 2014 - 21:23
Изображение пользователя MacLeod.

sudo nano /etc/cron.daily/trim
туда
#!/bin/sh
LOG=/var/log/trim.log
echo "*** $(date) ***" >> $LOG
ionice -c 3 fstrim -v / >> $LOG

и
sudo chmod +x /etc/cron.daily/trim
Все будет работать.

0
ozim - 4 Февраль, 2014 - 21:05

сделал такую проверку
[email protected]:~$ sudo hdparm -t /dev/sda

/dev/sda:
Timing buffered disk reads: 726 MB in  3.00 seconds = 241.67 MB/sec
[email protected]:~$ sudo ionice -c 3 fstrim -v /
/: 53573029888 bytes were trimmed
[email protected]:~$ sudo ionice -c 3 fstrim -v /
/: 0 bytes were trimmed
[email protected]:~$ sudo hdparm -t /dev/sda

/dev/sda:
Timing buffered disk reads: 730 MB in  3.00 seconds = 243.22 MB/sec
[email protected]:~$

как видите, скорость не меняется…

0
MacLeod - 4 Февраль, 2014 - 21:26
Изображение пользователя MacLeod.

Скорость чтения меняться и не должна. Будет падать скорость записи, если ячейки не помечены как свободные. Контроллер не знает, какие ячейки на самом деле свободные и он делает запрос файловой системе ОС - тут и происходит потеря времени.
Также он положительно влияет на равномерность износа ячеек.

0
ozim - 4 Февраль, 2014 - 22:34

а как реально проверить: работает или нет? нулей вон нет)

0
MacLeod - 4 Февраль, 2014 - 22:53
Изображение пользователя MacLeod.

Я проверял

оба способа. И в обоих случаях (и discard, и fstrim) нули появлялись, но не сразу, минут через 10-15. Я не разбирался, связано ли оно с настройками таймаутов записи на диск или нет. Попробуйте удалить файл, после чего сделать fstrim, подольше подождать и проверьте, что не ошиблись с адресом (что он попадает в пределы той области, я брал начальный).
0
ozim - 5 Февраль, 2014 - 09:04

хм, нули появились, через минут 5.

0
rosenrot - 5 Февраль, 2014 - 22:14
Изображение пользователя rosenrot.

У меня нули появились моментально :) Трим работает с discard в fstab.

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры