‘CentOS’ タグのついている投稿

CentOS5.2でSerialATAのHDDディスクを使う

2009 年 3 月 16 日 月曜日

SerialATA接続のHDDを搭載したマシンにCentOS5.2をインストールすると、HDDアクセスが激遅になります。SerialATA接続のHDDの場合、SCSIドライブとして認識するのが正しいようですが、BIOSの設定等でIDE互換優先にしていると、どうもIDEドライブとして認識する模様です。IDEで認識したのならば、DMAを使ってくれればよいのですが、DMAはONに出来なかったりするために、恐らくPIOモードで転送しているかのようなCPU使用率の高さと転送速度の遅さに見舞われます。

コマンドで、
hdparm -t /dev/hda
と打つと、ディスクキャッシュを使わない転送速度が取得できます(/dev/hdaの部分は環境に合わせて変更する)。いまどきのHDDならば、10MB/s以上は出るはずなので、これが10MB未満だったらDMAが使われていない可能性大です。また、SerialATAドライブなのに、/dev/hdaとIDEで認識されている場合もDMAが使われていない可能性大です。
hdparm -d1 /dev/hda
と入力すると、DMAをONにすることが出来ますが、エラーメッセージが出た場合はONにできません。(SerialATAだとエラーメッセージが出ると思います)

この場合、IDE互換として認識されているHDDをSCSIとして認識させるために、IDE機器を接続していないように見せる方法などが取れるようです。

もっとも、IDE互換としてSerialATAを設定しなければ良かったりする訳で、CentOSのインストール前にBIOSでAHCIを使うように設定すれば、インストールの最中にSerialATA用のドライバを読み込み、きちんと処理してくれます。マシンのチップセットにICH8以降(Intel 965以降のチップセットなら確実)が搭載されている場合、BIOSでAHCIを使うようにしておいたほうがよさそうです。もっとも、他の場面で問題が出る可能性があるので、使い方に合わせて変える必要はあります。

ファイルディスクリプタを増やす方法-CentOS5-

2008 年 9 月 2 日 火曜日

CentOS5において、各ユーザにデフォルトで割り当てられているファイルディスクリプタの値は1024です。通常に使っている場合では、十分な値で限界に達することはあまりないと思いますが、データベースを運用していたりすると、限界に達することとが多々あり、増やしたくなってきます。何故かファイルディスクリプタの値を変える方法があまり出ていないので、参考までに書いておきます。

$ ulimit -n

にて現在割り当てられているファイルディスクリプタの値を確認出来ます。

$ ulimit -n 16384

にてファイルディスクリプタの値を16384に変更できますが、再起動してしまうと設定がクリアされてしまうので、常に設定を変更するには、/etc/security/limits.confを開いて編集します。

mysql soft nofile 16384
mysql hard nofile 16384

*ユーザMySQLに対してファイルディスクリプタのソフト、ハードリミットを16384に変更する場合

保存をし、ユーザを変更して確認します。
また、システム全体の値を変更するには、sysctl.confを開いて編集します。

fs.file-max=65536
*システム全体のファイルディスクリプタの値を65536に変更する場合