システムのCPU使用率や,メモリ使用量などの情報が全て入っています.
例)
/proc/meminfo :メモリ搭載量・空きメモリ量などが記載
/proc/cpuinfo :CPUの情報が記載
また,/procディレクトリ以下には,それぞれのプロセスの情報も格納されています.
プロセスIDごとにディレクトリがあり,その中に格納されています
例)
/proc/pid/map :そのプログラムがどのアドレスを何に使っているか
/proc/pid/status :そのプロセスの名前や状態などの情報
全て情報がここを見ればわかっちゃうわけですねー!
すごい.
今得たいのは,それぞれのプロセスの情報なので,
/proc/pid/statを見ればOKなようです.
参考ページ:
/procによるLinuxチューニング
Manpage of PROC
2008年12月1日月曜日
2008年11月29日土曜日
ブラウザ上でドミノ倒し
DRAWMINOS
作って保存できるみたい.
こういうの,ついついやっちゃうw
参考ページ:
ブラウザ上でドミノ倒しゲームを作って遊べる「DRAWMINOS」 - japan.internet.com Webビジネス
作って保存できるみたい.
こういうの,ついついやっちゃうw
参考ページ:
ブラウザ上でドミノ倒しゲームを作って遊べる「DRAWMINOS」 - japan.internet.com Webビジネス
2008年11月27日木曜日
Rubyのインストール
スクリプトを作るのにRubyを使ってみることにしました.
昔まつもとさんの講演を聞きに行って,最も自然言語に近いスクリプト言語ということで興味があったので.
ここからダウンロード
Ruby Install Guideを参考にインストール
以降,そのページにありますが,一応やったことをメモ.
% tar xvf ruby-1.8.7-p72.tar.gz
% cd ruby-1.8.7-p72
% ./configure
% make
% su
# make install
# exit
% make clean
デフォルトでは/usr/local 以下にインストールされるようです.
% ruby -v
とすると,バージョンが表示され,ちゃんとインストールできていることが確認できました.
よーし,初Ruby挑戦♪♪
公式ページのチュートリアルはプログラミング初心者向けで読みやすいですw
昔まつもとさんの講演を聞きに行って,最も自然言語に近いスクリプト言語ということで興味があったので.
ここからダウンロード
Ruby Install Guideを参考にインストール
以降,そのページにありますが,一応やったことをメモ.
% tar xvf ruby-1.8.7-p72.tar.gz
% cd ruby-1.8.7-p72
% ./configure
% make
% su
# make install
# exit
% make clean
デフォルトでは/usr/local 以下にインストールされるようです.
% ruby -v
とすると,バージョンが表示され,ちゃんとインストールできていることが確認できました.
よーし,初Ruby挑戦♪♪
公式ページのチュートリアルはプログラミング初心者向けで読みやすいですw
2008年11月25日火曜日
リアルタイムプロセス
プロセスをリアルタイムプロセスにするには,sched_setschedulerを用いる.
sched_setscheduler(pid_t pid, int policy,const struct sched_param *param);
pid:プロセスID(自身をリアルタイムプロセスにするには0を設定)
policy:どのようなスケジューリングに設定するかのポリシー
(リアルタイム:SCHED_FIFO,SCHED_RR
リアルタイムでない:SCHED_OTHER,SCHED_BATCH,SCHED_IDLE)
●使用例:より正確に時間を計測したい場合
#include
struct sched_param *param;
int main(){
……
sched_setscheduler(0,SCHED_RR,param);
sleep(sleep_interval);
sched_setscheduler(0,SCHED_OTHER,param);
……
}
参照ページ:
Manpage of SCHED_SETSCHEDULER
sched_setscheduler(pid_t pid, int policy,const struct sched_param *param);
pid:プロセスID(自身をリアルタイムプロセスにするには0を設定)
policy:どのようなスケジューリングに設定するかのポリシー
(リアルタイム:SCHED_FIFO,SCHED_RR
リアルタイムでない:SCHED_OTHER,SCHED_BATCH,SCHED_IDLE)
●使用例:より正確に時間を計測したい場合
#include
struct sched_param *param;
int main(){
……
sched_setscheduler(0,SCHED_RR,param);
sleep(sleep_interval);
sched_setscheduler(0,SCHED_OTHER,param);
……
}
参照ページ:
Manpage of SCHED_SETSCHEDULER
2008年11月23日日曜日
2008年11月22日土曜日
精度の高いSLEEP
sleep関数では,秒単位でしかsleepのインターバルを指定できません.
更に精度の高いsleepを使用したい場合には,usleepとnanosleepの2つがあります.
usleepは今はあまり推奨されていないようなので,一般的にはnanosleepのよう.
カーネル2.4系ではこの関数をリアルタイムプロセス内で使う必要があったようですが,今現在はその必要はないとのこと.
参照ページ:
Manpage of USLEEP
Manpage og NANOSLEEP
更に精度の高いsleepを使用したい場合には,usleepとnanosleepの2つがあります.
usleepは今はあまり推奨されていないようなので,一般的にはnanosleepのよう.
カーネル2.4系ではこの関数をリアルタイムプロセス内で使う必要があったようですが,今現在はその必要はないとのこと.
参照ページ:
Manpage of USLEEP
Manpage og NANOSLEEP
登録:
投稿 (Atom)