![Ужасная производительность ввода-вывода после обновления до 16.04](https://rvso.com/image/885966/%D0%A3%D0%B6%D0%B0%D1%81%D0%BD%D0%B0%D1%8F%20%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%20%D0%B2%D0%B2%D0%BE%D0%B4%D0%B0-%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%B0%20%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%20%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%B4%D0%BE%2016.04.png)
У меня есть полурегулярная задача, которую я выполняю на своей рабочей станции Ubuntu 16.04: на ней есть второй диск с Windows 7. По сути, это голая установка, которую я иногда загружаю и позволяю Windows Update работать. Идея в том, чтобы использовать ее для игр, но, что ж, оказывается, у меня редко есть время. Я все равно обновляю ее.
Эта полурегулярная задача — клонирование диска с помощью ntfsclone
после того, как я сделал такое обновление. Рассматривайте это как «низкотехнологичное» создание снимков, потому что — увы — Windows не может жить внутри тома LVM. (Ну, может, если он виртуализирован.) Я написал скрипт для этого (и еще нескольких вещей), потому что я ленивый, но команда, которая занимает больше всего времени и вызывает проблему, это:
ntfsclone -s -o /home/jorg/Images/$(date +%F).ntfsclone /dev/sdc2
Где /dev/sdc2
находится раздел Windows, а /home/jorg/Images/
— том LVM на RAID1, состоящий из /dev/sda
и /dev/sdb
. Все эти диски — обычные жесткие диски, подключенные с помощью SATA.
Проблема, которая возникает: когда я это делаю, моя рабочая станция становится полностью и окончательно непригодной для использования. Отзывчивость просто ужасная. Даже переключение и вход в виртуальную консоль ( Ctrl
- Alt
- F1
) невыносимо медленный.
Это не только использование ntfsclone
, и поэтому я подозреваю дисковый ввод-вывод. Когда я делаю dd
, инструмент, который я часто использую, чтобы помочь людям с дефектными дисками, происходит то же самое. С , еще хуже dd
, потому что он часто идет через USB. Тем не менее, я использовал dd
вместо ntfsclone
в качестве теста с вышеуказанной настройкой, которая является только SATA, и это так же плохо. Да, я использую параметр bs
в dd
, чтобы буферизация выполнялась правильно.
Дело в том, что хотя компьютер и замедлился в 14.04, он не стал непригодным для использования. Он был просто "немного медленнее", но просмотр веб-страниц, электронная почта, терминал - все это было все еще терпимо для использования.
К настоящему моменту я также поигрался с различными дисковыми планировщиками. Поддерживаются следующие планировщики:
cat /sys/block/sda/queue/scheduler
noop [deadline] cfq
Переключение на cfq
или noop
не помогло. ( echo cfq > /sys/block/sda/queue/scheduler
).
Некоторая информация о моей машине:
root@tiger:~# uname -a
Linux tiger 4.4.0-34-generic #53-Ubuntu SMP Wed Jul 27 16:06:39 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
root@tiger:~# dmidecode -t baseboard | grep -e Product -e Manufacturer
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: F1A75-V PRO
root@tiger:~# free -mh
total used free shared buff/cache available
Mem: 15G 1,7G 2,9G 154M 11G 13G
Swap: 31G 0B 31G
root@tiger:~# for disk in a b c ; do echo \[ Disk informatoin for \/dev\/sd$disk \] ; hdparm -I /dev/sd$disk | grep -e Model -e Transport ; done
[ Disk informatoin for /dev/sda ]
Model Number: ST1500DL003-9VT16L
Transport: Serial, SATA Rev 3.0
* SMART Command Transport (SCT) feature set
[ Disk informatoin for /dev/sdb ]
Model Number: ST1500DL003-9VT16L
Transport: Serial, SATA Rev 3.0
* SMART Command Transport (SCT) feature set
[ Disk informatoin for /dev/sdc ]
Model Number: WDC WD1002FAEX-00Z3A0
Transport: Serial, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6
* SMART Command Transport (SCT) feature set
Я понимаю, что мои /dev/sda
и /dev/sdb
не являются мощными игроками, но они отлично справились с 14,04.
Кто-нибудь также наблюдает ужасную производительность при выполнении большого количества операций ввода-вывода? Если да, то нашли ли вы обходной путь?
решение1
Theядро xanmodКажется, помогло. Я использовал 16.04 с загрузочным диском ssd, gnome 3.2. Я думал, что deadline scheduler сделает это, но, похоже, не очень помогло. Вот что я сделал: http://www.hecticgeek.com/2016/09/supercharge-ubuntu-16-04-lts-xanmod-kernel/