xload を起動出来るようにする

カーネルが管理する仮想メモリの使用量を逐一グラフ表示してくれる xload というコマンドがあります。やたらとメモリを喰うでかいプログラムや、沢山のプログラムが起動していれば当然メモリは大量に消費されるわけで、このグラフで「どれだけ俺のパソコンが頑張っているか」を監視することが出来ます。
(とは言っても、私のパソコンでもっともグラフの山が高くなるのは、xscreensaver が走っている時・・・という体たらくなんですが・・・(^^;)

で、実はFreeBSD 2.2.2Rをインストールしたばかりの状態では、この xload は起動することが出来ません・・・



[遭遇した問題]

.fvwm2rcファイルの中に、

*FvwmButtons - bar  Swallow "XLoad" Exec exec xload -hl cyan -geometry -1500-1500 &
という記述があるにもかかわらず、ボタンのところにxload(のグラフ)が表示されていません。これは、xloadが起動出来なかったからです。(当たり前か(^^;)
* startx した時のログに、xload;cannot open kvm files というエラーメッセージが残っているはずです

xload


[こうして解決]

なぜ起動出来なかったかというと、xloadは /dev/kmem という特殊なファイルを読み込んで、その内容をグラフ表示します。このファイルは、所有者が root、所有グループが kmem のプログラムからしか読み込めません。
↓しかし、ディフォルトでは、xloadの所有グループは 10 になっています。

# ls -la /dev/kmem
crw-r-----  1 root  kmem    2,   1 Jan  1 05:57 /dev/kmem
# ls -la /usr/X11R6/bin/xload
-rwxr-xr-x  1 root  10  12288 Mar 21  1997 /usr/X11R6/bin/xload

そのため、以下のようにしてxloadのパーミッションを変更してやる必要があります。

# ls -la /usr/X11R6/bin/xload
-rwxr-xr-x  1 root  10  12288 Mar 21  1997 /usr/X11R6/bin/xload
# chown root.kmem /usr/X11R6/bin/xload
# chmod u+s /usr/X11R6/bin/xload
# ls -la /usr/X11R6/bin/xload
-rwsr-xr-x  1 root  kmem  12288 Mar 21  1997 /usr/X11R6/bin/xload
パーミッションを変更したら、X を再起動してみましょう。
このように↓xloadのグラフ画面がボタン上に表示されるはずです。

xload


トラブルのページへ FreeBSDで遊ぶ Powered by FreeBSD by SHINODA Masanori