topについてまとめ
急に寒くなって、人間には辛い日が続いているけど、サーバ達には優しい環境と思いきや、障害が立て続けに。。。
小ネタ程度に日頃よくお世話になるlinuxのtopコマンドに関してまとめます。
# top
と実行するとしたのような画面が表示されます。
----------------------
- 20:08:43 up 774 days, 19:33, 1 user, load average: 2.05, 2.01, 2.00
Tasks: 104 total, 1 running, 103 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 75.4%id, 24.4%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 8177612k total, 4491908k used, 3685704k free, 150816k buffers
Swap: 6094840k total, 1532k used, 6093308k free, 3122220k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10332 mysql 15 0 5862m 1.0g 4760 S 0.3 12.8 17:32.78 mysqld
2452 haldaemo 15 0 30896 3820 1452 S 0.0 0.0 0:00.45 hald
----------------------
特にどのプロセスがどの程度のリソースを利用しているかは、
6行目以降を参考にすることが多いです。
●各列の意味
PID:プロセスID
USER:実行ユーザ
PR:Priority(優先度)
NI:nice値
VIRT:仮想メモリサイズ→タスクが使用している仮想メモリの総量。
コード・データ・共有ライブラリ・スワップアウトされているページが含まれる。
RES:タスクが利用している
SHR:共有メモリサイズ→共有メモリサイズ
(他のプロセスと共有される可能性のあるメモリを単純に反映している。)
S:※プロセス状態
%CPU:CPU時間の占有率→「総 CPU 時間のパーセンテージで表される」
%MEM:タスクが現在使用している利用可能な物理メモリの占有率
TIME+:タスクが開始してから利用した CPU 時間の総計(TIMEと違い1/100秒を表示)
COMMAN:D
※プロセス状態
D 割り込み不可能なスリープ状態
R 実行中
S スリープ状態
T トレース中/停止された
Z ゾンビ
各タスクを条件によって並び替えることもよくやります。
そのときのオプションは
shift + o で下の画面が表示されたら、オプションを選択するだけでOK!
Current Sort Field: K for window 1:Def
Select sort field via field letter, type any other key to return
a: PID = Process Id
b: PPID = Parent Process Pid
c: RUSER = Real user name
d: UID = User Id
e: USER = User Name
f: GROUP = Group Name
g: TTY = Controlling Tty
h: PR = Priority
i: NI = Nice value
j: P = Last used cpu (SMP)
* K: %CPU = CPU usage
l: TIME = CPU Time
m: TIME+ = CPU Time, hundredths
n: %MEM = Memory usage (RES)
o: VIRT = Virtual Image (kb)
p: SWAP = Swapped size (kb)
q: RES = Resident size (kb)
r: CODE = Code size (kb)
s: DATA = Data+Stack size (kb)
t: SHR = Shared Mem size (kb)
u: nFLT = Page Fault count
v: nDRT = Dirty Pages count
w: S = Process Status
x: COMMAND = Command name/line
y: WCHAN = Sleeping in Function
z: Flags = Task Flags
簡単にまとめてみました~
小ネタ程度に日頃よくお世話になるlinuxのtopコマンドに関してまとめます。
# top
と実行するとしたのような画面が表示されます。
----------------------
- 20:08:43 up 774 days, 19:33, 1 user, load average: 2.05, 2.01, 2.00
Tasks: 104 total, 1 running, 103 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 75.4%id, 24.4%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 8177612k total, 4491908k used, 3685704k free, 150816k buffers
Swap: 6094840k total, 1532k used, 6093308k free, 3122220k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10332 mysql 15 0 5862m 1.0g 4760 S 0.3 12.8 17:32.78 mysqld
2452 haldaemo 15 0 30896 3820 1452 S 0.0 0.0 0:00.45 hald
----------------------
特にどのプロセスがどの程度のリソースを利用しているかは、
6行目以降を参考にすることが多いです。
●各列の意味
PID:プロセスID
USER:実行ユーザ
PR:Priority(優先度)
NI:nice値
VIRT:仮想メモリサイズ→タスクが使用している仮想メモリの総量。
コード・データ・共有ライブラリ・スワップアウトされているページが含まれる。
RES:タスクが利用している
SHR:共有メモリサイズ→共有メモリサイズ
(他のプロセスと共有される可能性のあるメモリを単純に反映している。)
S:※プロセス状態
%CPU:CPU時間の占有率→「総 CPU 時間のパーセンテージで表される」
%MEM:タスクが現在使用している利用可能な物理メモリの占有率
TIME+:タスクが開始してから利用した CPU 時間の総計(TIMEと違い1/100秒を表示)
COMMAN:D
※プロセス状態
D 割り込み不可能なスリープ状態
R 実行中
S スリープ状態
T トレース中/停止された
Z ゾンビ
各タスクを条件によって並び替えることもよくやります。
そのときのオプションは
shift + o で下の画面が表示されたら、オプションを選択するだけでOK!
Current Sort Field: K for window 1:Def
Select sort field via field letter, type any other key to return
a: PID = Process Id
b: PPID = Parent Process Pid
c: RUSER = Real user name
d: UID = User Id
e: USER = User Name
f: GROUP = Group Name
g: TTY = Controlling Tty
h: PR = Priority
i: NI = Nice value
j: P = Last used cpu (SMP)
* K: %CPU = CPU usage
l: TIME = CPU Time
m: TIME+ = CPU Time, hundredths
n: %MEM = Memory usage (RES)
o: VIRT = Virtual Image (kb)
p: SWAP = Swapped size (kb)
q: RES = Resident size (kb)
r: CODE = Code size (kb)
s: DATA = Data+Stack size (kb)
t: SHR = Shared Mem size (kb)
u: nFLT = Page Fault count
v: nDRT = Dirty Pages count
w: S = Process Status
x: COMMAND = Command name/line
y: WCHAN = Sleeping in Function
z: Flags = Task Flags
簡単にまとめてみました~
auto mountの設定をする
オートマウント(NFS)の設定をまとめておく(CentOS5.x)
NFSサーバ側
# vim /etc/exports
/test 192.168.176.0/255.255.255.0(rw,no_root_squash)
ro → 読み込みのみ許可
rw → 読み書き許可
no_root_squash → NFSクライアントでrootユーザのアクセスは、rootのままでアクセスすることを許可する
# rpcinfo -p
portmapper、nfs、mountdが存在しない場合は、下のコマンドでNFSサーバを起動する。
# service portmap start
# service nfs start
自動起動もONにしておく。
NFSクライアント側
オートマウントの設定ファイルは下のような、構造でつながっている
/etc/auto.master
+-/etc/auto.misc(マップファイル)
今回は/miscの下にtestを自動マウントさせる設定をする。
/etc/auto.masterの書式は
------------------------------------------------
<マウントポイント> <マップファイル> <オプション(省略可能)>
------------------------------------------------
になっているので。
下記のように編集(デフォルトで編集済み。。)
# vim /etc/auto.master
----------------------
/misc /etc/auto.misc
----------------------
次にマップファイルの /etc/auto.miscを編集する
書式は下記のようになっている
<マウントポイント以下のディレクトリ> <マウントオプション> <マウントするデバイス>
# vim /etc/auto.misc
----------------------
test -fstype=nfs,rw,noatime,vers=3,rsize=8192,wsize=8192:/test
----------------------
auto.masterを編集したら、autofsをリロードする必要があるが、auto.miscの編集の場合はautofsを再起動する必要がない。
備忘録程度に。
NFSサーバ側
# vim /etc/exports
/test 192.168.176.0/255.255.255.0(rw,no_root_squash)
ro → 読み込みのみ許可
rw → 読み書き許可
no_root_squash → NFSクライアントでrootユーザのアクセスは、rootのままでアクセスすることを許可する
# rpcinfo -p
portmapper、nfs、mountdが存在しない場合は、下のコマンドでNFSサーバを起動する。
# service portmap start
# service nfs start
自動起動もONにしておく。
NFSクライアント側
オートマウントの設定ファイルは下のような、構造でつながっている
/etc/auto.master
+-/etc/auto.misc(マップファイル)
今回は/miscの下にtestを自動マウントさせる設定をする。
/etc/auto.masterの書式は
------------------------------------------------
<マウントポイント> <マップファイル> <オプション(省略可能)>
------------------------------------------------
になっているので。
下記のように編集(デフォルトで編集済み。。)
# vim /etc/auto.master
----------------------
/misc /etc/auto.misc
----------------------
次にマップファイルの /etc/auto.miscを編集する
書式は下記のようになっている
<マウントポイント以下のディレクトリ> <マウントオプション> <マウントするデバイス>
# vim /etc/auto.misc
----------------------
test -fstype=nfs,rw,noatime,vers=3,rsize=8192,wsize=8192
----------------------
auto.masterを編集したら、autofsをリロードする必要があるが、auto.miscの編集の場合はautofsを再起動する必要がない。
備忘録程度に。