vmstat
とか top
もあるけどね。
free
free があると心が落ち着きますね。cached が大きいだけだと安心しますね。
$ free
total used free shared buffers cached
Mem: 3860692 1521364 2339328 0 85388 1049928
-/+ buffers/cache: 386048 3474644
Swap: 0 0 0
ps auxwwO-r
プロセスごとのメモリはこれで見れるかな。まぁ O-r はソートなので好きなのに変えたら良い。
$ ps auxwwO-r | head
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 6912 0.0 0.1 111688 4276 ? Ss Apr01 0:00 sshd: ec2-user [priv]
ec2-user 6914 0.0 0.0 111820 2540 ? S Apr01 0:02 sshd: ec2-user@pts/0,pts/1,pts/2
ec2-user 8151 0.4 0.0 121992 2420 pts/1 Ss+ Apr01 5:13 -bash
ec2-user 9257 0.0 0.0 117488 2188 pts/0 Ss+ Apr01 0:00 -bash
ec2-user 29292 0.0 0.0 117384 2132 pts/2 Ss 04:11 0:00 -bash
root 1593 0.0 0.0 89044 2116 ? Ss Mar13 0:27 sendmail: accepting connections
smmsp 1600 0.0 0.0 80500 1692 ? Ss Mar13 0:00 sendmail: Queue runner@01:00:00 for /var/spool/clientmqueue
root 23677 0.0 0.0 183768 1416 ? Sl Mar29 0:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
root 23590 0.0 0.0 77936 1288 ? Ss Mar29 0:00 /usr/sbin/sshd
cat /proc/meminfo
結果が長いし何だか良く分からないぜ! でも Active とか Inactive とか字面に騙されちゃいけないってじっちゃんが言ってました。きっと /proc/meminfoを考える - めもめも を通りすがると色々分かるようになるに違いありません。
$ cat /proc/meminfo | head -n 25
MemTotal: 3860692 kB
MemFree: 2339320 kB
Buffers: 85388 kB
Cached: 1049928 kB
SwapCached: 0 kB
Active: 443068 kB
Inactive: 704024 kB
Active(anon): 11788 kB
Inactive(anon): 392 kB
Active(file): 431280 kB
Inactive(file): 703632 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 11824 kB
Mapped: 7440 kB
Shmem: 404 kB
Slab: 329724 kB
SReclaimable: 318664 kB
SUnreclaim: 11060 kB
KernelStack: 544 kB
PageTables: 1976 kB
dstat -tclmgdnpy --tcp 5
ぼーっと眺めていると、それだけで癒されますね。もぉ熱帯魚なんて飼わなくても大丈夫です。どんだけ増すかはターミナルの幅と相談しましょう
$ dstat -tclmgdnpy --tcp 5
----system---- ----total-cpu-usage---- ---load-avg--- ------memory-usage----- ---paging-- -dsk/total- -net/total- ---procs--- ---system-- ----tcp-sockets----
date/time |usr sys idl wai hiq siq| 1m 5m 15m | used buff cach free| in out | read writ| recv send|run blk new| int csw |lis act syn tim clo
02-04 04:42:15| 0 0 100 0 0 0| 0 0.01 0.05| 381M 83.5M 1026M 2279M| 0 0 |2750B 3152B| 0 0 | 0 0 1.3| 27 20 | 3 1 0 0 0
02-04 04:42:20| 0 0 100 0 0 0| 0 0.01 0.05| 381M 83.5M 1026M 2279M| 0 0 | 0 0 | 66B 133B| 0 0 0| 22 13 | 3 1 0 0 0
02-04 04:42:25| 0 0 100 0 0 0| 0 0.01 0.05| 381M 83.5M 1026M 2279M| 0 0 | 0 0 | 66B 120B| 0 0 0| 21 13 | 3 1 0 0 0
02-04 04:42:30| 0 0 100 0 0 0| 0 0.01 0.05| 381M 83.5M 1026M 2279M| 0 0 | 0 0 | 66B 120B| 0 0 0| 19 12 | 3 1 0 0 0
02-04 04:42:35| 0 0 100 0 0 0| 0 0.01 0.05| 381M 83.5M 1026M 2279M| 0 0 | 0 0 | 66B 117B| 0 0 0| 21 12 | 3 1 0 0 0
sudo slabtop -o -s c
こっちはあんまり癒されませんね。dentry め!! という感じです。
$ sudo slabtop -o -s c | head -n 15
Active / Total Objects (% used) : 1695897 / 1700554 (99.7%)
Active / Total Slabs (% used) : 71781 / 71781 (100.0%)
Active / Total Caches (% used) : 67 / 96 (69.8%)
Active / Total Size (% used) : 323362.33K / 325133.74K (99.5%)
Minimum / Average / Maximum Object : 0.01K / 0.19K / 8.00K
OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME
1297464 1297464 100% 0.19K 61784 21 247136K dentry
37074 37074 100% 0.86K 1002 37 32064K ext4_inode_cache
263913 263913 100% 0.10K 6767 39 27068K buffer_head
14287 14287 100% 0.55K 511 28 8176K radix_tree_node
5336 4999 93% 0.55K 184 29 2944K inode_cache
26860 25982 96% 0.05K 316 85 1264K shared_policy_node
8604 8604 100% 0.11K 239 36 956K sysfs_dir_cache
2912 1971 67% 0.25K 91 32 728K kmalloc-256
while true; do date '+%H:%M:%S ' | tr -d '\n'; cat /proc/sys/fs/dentry-state; sleep 5; done
こんなもんそうそう叩く機会は無いか....
$ while true; do date '+%H:%M:%S ' | tr -d '\n'; cat /proc/sys/fs/dentry-state; sleep 5; done
05:01:00 1297322 1291697 45 0 0 0
05:01:05 1297322 1291697 45 0 0 0
05:01:10 1297322 1291697 45 0 0 0
05:01:15 1297322 1291697 45 0 0 0