月曜日, 1月 31, 2011

Debianを200行カーネルパッチ無しに、高速化する方法


2017年5月16日追記

この記事は古くなっており、間違いがあります。
最新の記事
をご参照ください。



なぜかDebianだけ情報が少ない、あーんど他のディストリに比べてもっと高度な設定方法しかブログとして無かったので、書いてみる。 BeepCapです。






やりかたは簡単。

まず、/etc/rc.localのexit0の行の上に
mkdir -m 0777 /dev/cgroup
mount -t cgroup cgroup /dev/cgroup -o cpu
mkdir -m 0777 /dev/cgroup/user
を追加します。
ほぼUbuntuなどのやり方と一緒ですね。

で、あとは~/.bashrc に
if [ "$PS1" ] ; then
  mkdir -m 0700 /dev/cgroup/user/$$
  echo $$ > /dev/cgroup/user/$$/tasks
fi
とまぁ簡単に追加でOK。

参考にさせてもらったところには悪いのだけど、
多分、mount -t cgroup -ocpuset cpuset /dev/cgroup
はもっと高度な設定。そこまではいらないはず。

ちなみに、これ、何をしてるかというと、LinuxはKernel 2.6.24あたりで、CPUのスケジュールのヒントとしてCgroupというのを使えるようにしたと。
これは、まぁ、作ったグループ単位で、資源を割り当ててくれるので、最大性能は(理論的には)落ちるのだけれども、代わりに他の処理を並列動作で解決してくれる
チャンスが増えるというわけ。

参考動画では、やたらと複数の動作を同時にやってたけど、
ベンチマークではなく、ああいう実動作で性能を見せていたのはそういう種。

Linuxでデスクトップをいじったり、ネットワークをバリバリつかったり
要は単純な計算用途以外に使っている人、もしくは計算用途なんだけどDiskのIOとかネットワークの待ち時間が支配的になってしまっている人におすすめ

てほぼ全員ですがな。
リーナスが喜ぶほどの事かはしらないけど、Cgroupという仕組みが
日の目を見るとは素晴らしい。

※ちなみに、Windowsとか商用のOSってもとからこうやってアプリケーション単位に近いレベルでのスケジュール管理してるんだけど、なんで映えないのかな。不思議。

1 件のコメント:

三年寝太郎 さんのコメント...

アメブロにも遊びにきてほしいわん

facebookはじめるので、わからんところは教えてほしいです

自己紹介

自分の写真
NetRadioDJ ...since 2003, Programer ...since 1994