RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

User Tools

Site Tools


Sidebar


Навигация

Линкшэринг

ALARM!

Добавить новую страницу

You are not allowed to add pages
linux:bash:terminal_tnt_fs_files

Трюки в консоли: ФС, каталоги, файлы

nice и ionice

Как минимизировать влияние бэкап-скрипта на интенсивность ввода/вывода в Linux (opennet)

Задача понизить влияние скрипта /etc/cron.d/backup.sh на систему (снизить нагрузку).

Уменьшить приоритет ввода-вывода

/usr/bin/ionice -c2 -n7 /etc/cron.d/backup.sh

Параметр -n может принимать значения от 0 до 7. 7 наименьший приоритет, 1 максимальный приоритет.

  • 1 - real time
  • 2 - нормальный режим
  • 3 - работа только в моменты простоя (idle)
  • 7 - cамый низкий уровень приоритета

Уменьшить приоритет CPU

/usr/bin/nice -n 19 /etc/cron.d/backup.sh

Параметр -n может принимать значения от -20 до 19. 19 наименьший приоритет, -20 максимальный приоритет.

nice и ionice можно комбинировать

/usr/bin/nice -n 19 /usr/bin/ionice -c2 -n7 /etc/cron.d/backup.sh

TRIM на SSD

Проверить, что TRIM доступен

# hdparm -I /dev/sdf | grep "TRIM"
   *    Data Set Management TRIM supported (limit 1 block)
   *    Deterministic read data after TRIM

Поначалу использовал пример sh+cron с первой страницы гугла (/etc/cron.weekly/fstrim.cron)

Баш

#!/bin/sh
LOG=/var/log/trim.log
echo "*** $(date -R) ***" >> $LOG
fstrim -v / >> $LOG
fstrim -v /home >> $LOG

Крон

chmod +x /etc/cron.weekly/fstrim.cron

Но надо идти в ногу со временем и использовать systemd

fstrim.service

# cat /usr/lib/systemd/system/fstrim.service

[Unit]
Description=Discard unused blocks

[Service]
Type=oneshot
ExecStart=/usr/sbin/fstrim -a
# cat /usr/lib/systemd/system/fstrim.timer

[Unit]
Description=Discard unused blocks once a week
Documentation=man:fstrim

[Timer]
OnCalendar=weekly
AccuracySec=1h
Persistent=true

[Install]
WantedBy=multi-user.target

Достаточно сделать

# systemctl enable fstrim.timer

Проверим, что fstrim работает

# systemctl status fstrim.timer
● fstrim.timer - Discard unused blocks once a week
   Loaded: loaded (/usr/lib/systemd/system/fstrim.timer; enabled; vendor preset: disabled)
   Active: active (waiting) since Sun 2020-04-12 04:58:42 MSK; 3 days ago
     Docs: man:fstrim

Apr 12 04:58:42 n36l systemd[1]: Started Discard unused blocks once a week.

Успешный запуск

# journalctl -u fstrim.service --since "2 week ago"
-- Logs begin at Mon 2020-03-02 10:18:50 MSK, end at Wed 2020-04-15 17:30:01 MSK. --
Apr 13 00:00:01 n36l systemd[1]: Starting Discard unused blocks...
Apr 13 00:00:01 n36l systemd[1]: Started Discard unused blocks.

ls -la с датой и временем

ls -la

-rw-------.  1 root root      8487 Apr  1 10:21 .bash_history
-rw-r--r--.  1 root root        18 Dec 29  2013 .bash_logout
-rw-r--r--.  1 root root       176 Dec 29  2013 .bash_profile
-rw-r--r--.  1 root root       176 Dec 29  2013 .bashrc
drwx------.  3 root root        18 Feb  5 20:15 .config
-rw-r--r--.  1 root root      9908 Aug 10  2014 nux-dextop-release-0-5.el7.nux.noarch.rpm
-rw-r--r--.  1 root root  29345082 May 16  2019 serviio-2.0-linux.tar.gz

ls -la –time-style=long-iso

-rw-------.  1 root root      8487 2020-04-01 10:21 .bash_history
-rw-r--r--.  1 root root        18 2013-12-29 06:26 .bash_logout
-rw-r--r--.  1 root root       176 2013-12-29 06:26 .bash_profile
-rw-r--r--.  1 root root       176 2013-12-29 06:26 .bashrc
drwx------.  3 root root        18 2020-02-05 20:15 .config
-rw-r--r--.  1 root root      9908 2014-08-10 03:11 nux-dextop-release-0-5.el7.nux.noarch.rpm
-rw-r--r--.  1 root root  29345082 2019-05-16 00:30 serviio-2.0-linux.tar.gz

Принудительно запустить fsck при следующей загрузке системы

Discussion

Enter your comment. Wiki syntax is allowed:
 
linux/bash/terminal_tnt_fs_files.txt · Last modified: 2020/04/15 18:32 by dx