![16.04 へのアップグレード後の I/O パフォーマンスがひどい](https://rvso.com/image/885966/16.04%20%E3%81%B8%E3%81%AE%E3%82%A2%E3%83%83%E3%83%97%E3%82%B0%E3%83%AC%E3%83%BC%E3%83%89%E5%BE%8C%E3%81%AE%20I%2FO%20%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%8C%E3%81%B2%E3%81%A9%E3%81%84.png)
Ubuntu 16.04 ワークステーションで、私が定期的に行っている作業があります。それは、Windows 7 が入った 2 枚目のディスクです。基本的には、ベア インストールで、時々起動して Windows Update を実行します。ゲーム用に使うつもりでしたが、時間がほとんどないことがわかりました。それでも、最新の状態に保っています。
この半定期的なタスクは、このような更新を行った後にディスクのクローンを作成することですntfsclone
。これは「ローテク」なスナップショットとして考えてください。残念ながら、Windows は LVM ボリューム内では動作できません (仮想化されている場合は動作できます)。私は怠け者なので、これ (および他のいくつかのこと) を実行するスクリプトを作成しましたが、最も時間がかかり、問題を引き起こすコマンドは次のとおりです。
ntfsclone -s -o /home/jorg/Images/$(date +%F).ntfsclone /dev/sdc2
は/dev/sdc2
Windows パーティションで、は および/home/jorg/Images/
で構成される RAID1 上の LVM ボリュームです。これらのディスクはすべて SATA を使用して接続された通常のハード ディスクです。/dev/sda
/dev/sdb
問題は、これを実行するとワークステーションがまったく使用できなくなることです。応答性はとにかく最悪です。仮想コンソール ( Ctrl
- Alt
- F1
) への切り替えやログインも耐えられないほど遅いです。
これは と だけを使用しているntfsclone
わけではないので、ディスク I/O を疑っています。 は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 ではうまくいきました。
同じように、高 I/O を実行するときにパフォーマンスがひどく低下しているという経験のある方はいらっしゃいますか? もしそうなら、回避策は見つかりましたか?
答え1
のxanmod カーネル役に立ったようです。私は 16.04 を SSD ブート ドライブ、gnome 3.2 で実行していました。Deadline Scheduler でできると思いましたが、あまり役に立たないようです。私が実行したのは次のとおりです。 http://www.hecticgeek.com/2016/09/supercharge-ubuntu-16-04-lts-xanmod-kernel/