サーバサイドになった自分がよく使うコマンド自分的まとめ。
順次増加中。
top
システム全体の情報を確認できるコマンド。主にプロセス事のメモリ仕様状況、CPU使用率を確認する。
$ top top - 10:46:07 up 43 days, 19:38, 1 user, load average: 4.17, 3.97, 3.84 Tasks: 421 total, 1 running, 420 sleeping, 0 stopped, 0 zombie %Cpu(s): 9.9 us, 1.0 sy, 0.0 ni, 89.0 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 65690952 total, 416772 free, 25993760 used, 39280420 buff/cache KiB Swap: 29241340 total, 19587856 free, 9653484 used. 39049748 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
ヘッダー情報
1行目
top - 10:46:07 up 43 days, 19:38, 1 user, load average: 4.17, 3.97, 3.84
左からシステム稼働時間、ログインユーザ数、ロードアベレージ
上記はuptimeコマンドでも表示される。
$ uptime 10:54:33 up 43 days, 19:46, 1 user, load average: 4.25, 3.87, 3.83
ロードアベレージについては下記参照。
load averageを見てシステムの負荷を確認する - Qiita
2行目
Tasks: 421 total, 1 running, 420 sleeping, 0 stopped, 0 zombie
システムのタスク状態を確認できる。
左から全体、実行中、待機中、停止中、ゾンビプロセス
ゾンビプロセスは処理が終了したが、メモリ上に残っているタスクを表す。
3行目
%Cpu(s): 9.9 us, 1.0 sy, 0.0 ni, 89.0 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st
システムのCPU使用率を確認出来る。
それぞれの語尾の意味は下記の通り。
us:ユーザのシステム使用時間
sy:システムのシステム使用時間
ni:niceで実行優先度を変更したプロセスがユーザモードでCPUを消費した時間
id:アイドル状態の時間
wa:I/0を終了を待っている時間
hi:ハードウェアの割り込み要求での使用時間
si:ソフトウェアの割り込み要求での使用時間
st:os仮想利用時に他の仮想CPUで待たされた時間
4行目,5行目
KiB Mem : 65690952 total, 416772 free, 25993760 used, 39280420 buff/cache KiB Swap: 29241340 total, 19587856 free, 9653484 used. 39049748 avail Mem
メモリー状態、swap状態の確認ができる。
total:合計容量
free:未使用可能な領域、容量
used:使用中の領域、容量
buff/catch:バッファー/キャッシュで使用されている容量
avail Mem:利用可能な領域
ps
実行中のプロセスを確認するコマンドゾンビプロセスや変なプロセスが実行されていないかを確認する時に重宝してます。
またkillしたい時にPIDを調べる時に役に立ちます。
$ ps PID TTY TIME CMD 1086 ttys000 0:00.03 /Applications/iTerm.app/Contents/MacOS/iTerm2 --server login -fp ----- 1088 ttys000 0:00.04 -bash
PID はプロセスID。処理を止めたい時はkill PIDで処理が強制終了される。
ttyについては以下参照。
qiita.com
TIMEは実行経過時間。
CMDは実行コマンドを表している。
よく使うオプション
ps -v
プロセスの他、プロセス毎の使用CPU率やメモリ消費量なども確認出来る。$ ps -v PID STAT TIME SL RE PAGEIN VSZ RSS LIM TSIZ %CPU %MEM COMMAND 1086 Ss 0:00.03 0 0 0 2480180 5276 - 0 0.0 0.1 /Applications/iTerm.app/Contents/MacOS/iTerm2 --se 1088 S 0:00.05 0 0 0 2452852 2724 - 0 0.2 0.0 -bash
ps aux
a は全てのプロセスを表示するオプションu はユーザ名と開始時刻を表示するオプション
x は制御端末のないプロセスの情報も表示するオプション
誰が実行したプロセスか、なんか知らんけど動き続けてるプロセスとかを確認する時に使うコマンド。
また、一度実行したプロセスを止めたい!誰か違うユーザが実行したプロセスを止めたい時に使うオプション。
$ ps aux USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND morototo 889 2.9 0.5 2739372 41696 ?? S 12:01AM 0:03.55 /Applications/iTerm.app/Contents/MacOS/iTerm2 -ps morototo 1081 0.6 3.8 3844528 321180 ?? S 12:02AM 0:58.47 /Applications/Google morototo 1088 0.0 0.0 2452852 2724 s000 S 12:03AM 0:00.05 -bash
ちなみにプロセスのメモリを消費している順に並べて表示するのは
$ ps aux | sort -r -k4 | head -n10
のようです。
free
現在のメモリーの使用状況を確認するコマンドSwapってなんぞ?という方は下のリンクへ。
itpro.nikkeibp.co.jp
$ free total used free shared buff/cache available Mem: 65690952 23505088 329168 5732 41856696 41568316 Swap: 29241340 12615068 16626272
total:実メモリの全容量
used:実メモリの使用容量
free:実メモリの空き容量
shared:共有メモリ容量
buff/cache:バッファ、キャッシュに割り当てられたメモリ容量
available:Swapを発生させずにメモリを割り当てられるメモリ量の推定
available は最近追加されたみたいなので、詳しい説明は以下記事参照。
nopipi.hatenablog.com
よく使うオプション
free -h
メモリの単位を表示してくれるので、見やすくなります。$ free -h total used free shared buff/cache available Mem: 62G 22G 352M 4.9M 40G 39G Swap: 27G 12G 15G
free -mt
スワップ領域との合計を出してくれる。$ free -mt total used free shared buff/cache available Mem: 64151 22791 266 4 41093 40769 Swap: 28555 12445 16110 Total: 92707 35236 16377
ifconfig
IPアドレスを確認する時のコマンド$ ifconfig eth0 Link encap:Ethernet HWaddr 06:C0:22:13:10:E1 inet addr:10.0.0.139 Bcast:10.0.0.255 Mask:255.255.255.0 inet6 addr: fe80::4c0:22ff:fe13:10e1/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:9001 Metric:1 RX packets:2791607 errors:0 dropped:0 overruns:0 frame:0 TX packets:2120684 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:815077258 (777.3 MiB) TX bytes:2481642503 (2.3 GiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:440014 errors:0 dropped:0 overruns:0 frame:0 TX packets:440014 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:29321505 (27.9 MiB) TX bytes:29321505 (27.9 MiB)
このままだと見にくいので、grepで検索してあげると楽に抽出出来ます。
5行目にあるIPが使用中のIPになります。
$ ifconifg | grep inet inet 127.0.0.1 netmask 0xff000000 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 inet6 fe80::18fe:42a5:7e35:e41%en0 prefixlen 64 secured scopeid 0x4 inet xxx.xxx.xxx.xxx netmask 0xffffff00 broadcast xxx.xxx.xxx.xxx inet6 2400:2410:2760:3900:1837:3db:a8fa:fb4 prefixlen 64 autoconf secured inet6 2400:2410:2760:3900:55f:4a6a:58df:32ec prefixlen 64 autoconf temporary inet6 fe80::84ea:cdff:fe88:d20b%awdl0 prefixlen 64 scopeid 0x7 inet xxx.xxx.xxx.xxx netmask 0xffffff00 broadcast xxx.xxx.xxx.xxx inet6 fe80::ddf3:ab26:3cdb:dc1%utun1 prefixlen 64 scopeid 0xb inet6 fe80::f795:b249:836f:9058%utun0 prefixlen 64 scopeid 0x9
df
ディスクの空き容量を調べるときに使うコマンド。$ df /dev/mapper/VolGroup-lv_root 12941636 1851304 10432924 16% / Filesystem 1K-blocks Used Available Use% Mounted on tmpfs 510348 0 510348 0% /dev/shm /dev/sda1 495844 70443 399801 15% /boot /vagrant 488383484 421285716 67097768 87% /vagrant
1K-blocks :全容量
Used:使用容量
Avaiable:使用可能容量
Use%:使用率
Mounted on はどこのファイルにマウントしているのかを表示しています。
よく使うオプション
df -i
iノードの使用率が表示されます。iノードとは実データのファイルに属する小さなファイルの事を指します。
ファイル容量は全然空いてるのに書き込めない!といった時にはこのinodeのファイルも確認して見ましょう。
$ df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/VolGroup-lv_root 822544 72999 749545 9% / tmpfs 127587 1 127586 1% /dev/shm /dev/sda1 128016 44 127972 1% /boot /vagrant 1000 0 1000 0% /vagrant
du
特定のディレクトリの中のファイル容量を確認するコマンド。そのまま打ち込むとずらずらと出てしまうので、grepとかsortで表示してあげると見やすくなります。
それでも多い場合はheadかtailで抽出してあげると便利です。
$ du /var/* | -n 50 head 43788 /var/cache 42600 /var/lib 2060 /var/log 104 /var/run 44 /var/spool
左の数値が容量(Kb単位)です。
順次更新中