個人メモです。まだまとまってないため随時更新予定。(動作確認はcentos7.6)
=======================================================================
#●全般
top
=======================================================================
#●CPU
cat /proc/cpuinfo
(抜粋)CPUの型番
model name : Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz
(抜粋)OSが認識しているCPU数(論理数)
processor : 0
processor : 1
#●メモリ
##全体
#####○free
free -m
-m 表示結果をメガバイト単位で表示。
-s 秒数 指定した秒数ごとに表示。
-t 物理メモリとスナップの合計も表示。
vmstat -n -S m
#####○より詳細な確認
cat /proc/meminfo
MemTotal: 8069288 kB カーネルが認識している全物理メモリ
MemFree: 6269572 kB いかなる用途にも使われていないメモリ
---------------------------------------------
| Buffers / Cached |
---------------------------------------------
| Active(file) / Inactive(file) | Shmem |
---------------------------------------------
Buffers + Cached = Active(file) + Inactive(file) + Shmem
--------------------------------------------------
| Active(anon) + Inactive(anon) |
--------------------------------------------------
| Shmem | AnonPages |??|
--------------------------------------------------
Active(anon) + Inactive(anon) = Shmem + AnonPages
-----------------------------------------------------------------------------
| Buffers / Cached | AnonPages |??|
-----------------------------------------------------------------------------
| Active(file) + Inactive(file) | Active(anon) + Inactive(anon) |
-----------------------------------------------------------------------------
| | Shmem | |
-----------------------------------------------------------------------------
---------------------------------------------------------------------------------
| Buffers / Cached | AnonPages |??|
---------------------------------------------------------------------------------
| Active(file) + Inactive(file) | Unevictalbe | Active(anon) + Inactive(anon) |
---------------------------------------------------------------------------------
##プロセスごと
#####○ps (参考程度?)
psはプロセスの実際のメモリ使用量でなく、
実行中のプロセスが1つだけである場合に各プロセスが占有する実メモリの量とのこと。(通常数十のプロセスが実行)
[How to measure actual memory usage of an application or process?][m1]
[m1]:https://stackoverflow.com/questions/131303/how-to-measure-actual-memory-usage-of-an-application-or-process
ps aux
ps aux | grep postgre | awk '{sum += $6}END{print sum}'
名称 意味
VSZ (virtual set size) 仮想メモリ
RSS (Resident set size) 物理メモリの消費量
PSS (proportional set size) プロセスが実質的に所有しているメモリ
USS (unique set size) ひとつのプロセスが占有しているメモリ
#####○pmap -x
アドレス空間マッピング情報とメモリ割り当ての量
pmap -x <PID>
pmap -x 7876
7876: python3
Address Kbytes RSS Dirty Mode Mapping
0000000000400000 4 0 0 r-x-- python3.6
0000000000601000 4 4 4 r---- python3.6
0000000000602000 4 4 4 rw--- python3.6
#####○cat /proc//smaps
ps -ef | grep [確認したいプロセス名]
cat /proc/<pid>/smaps
cat /proc/7876/smaps
00400000-00401000 r-xp 00000000 fd:00 55039406 /usr/bin/python3.6
Size: 4 kB
Rss: 0 kB
Pss: 0 kB
Shared_Clean: 0 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 0 kB
Referenced: 0 kB
Anonymous: 0 kB
AnonHugePages: 0 kB
Swap: 0 kB
KernelPageSize: 4 kB
MMUPageSize: 4 kB
Locked: 0 kB
Shared_Clean と Shared_Dirty は他のプロセスと共有している値
Private_Clean と Private_Dirty の合計が、各プロセスが独自に確保したメモリ領域
cat /proc/<PID>/smaps | egrep 'Private_Clean|Private_Dirty' | awk '{sum += $2}END{print sum}'
cat /proc/1111/smaps | awk '/^Rss/{sum += $2}END{print sum}'
cat /proc/1111/smaps | awk '/^Pss/{sum += $2}END{print sum}'
======================================================================
#●ストレージ(容量)
⇒容量
物理ストレージ
認識しているデバイスとその容量を確認
fdisk -l
パーティションの容量とファイルシステムを確認
df -Th
マウントディレクトリ内で何がどれだけ容量を食っているか
du -k
ファイル単位
ls -l
●ストレージ(I/O)
○全デバイスへの全 I/O の合計
vmstat
○デバイスごとの I/O レポートティング IOPSの確認
iostat
cat /proc/diskstats
Bandwidth
iotop
○
blktrace
=======================================================================
#●ネットワーク
○IPアドレス
ip -4 a
○ルーティングテーブル
route -rn
/proc/net/route
○疎通
ping
nc -vz [ip] [port]
○送受信のバイト数/パケット数、破棄パケット数、エラーパケット数
ifconfig
/proc/net/dev
/sys/class/net/$INTERFACE/statistics
○秒換算で確認
iftop
ifstat
○ネットワークのリンクアップ状況や認識速度の確認
ethtool
mii-tool
○使用NICの確認
それぞれのNICごとに確認しどのNICにて表示されるか確認
tcpdump -n -i eth0 dst port 9403 or src port 9403
tcpdump -n -i lo dst port 9403 or src port 9403
※ループバックインターフェースのみ通信が発生していれば、ループバック通信となる
但し、サーバに付与されているパブリックIPあての通信がループバックになるが、
TCP通信における動作ですので、OS依存となることに注意
=======================================================================
#●デバイス
lspci
#●環境変数
PIDが認識する環境変数の確認
/proc/<PID>/environ