Linux性能分析
Linux性能分析
まずはじめに
アーキテクチャを理解する
- CPU、メモリ、ディスク、ネットワーク、マザーボード・・・
- どこがボトルネックになっているか
CPU
- top コマンド
- sar コマンド
メモリ
ディスク
ネットワーク
CPU負荷をみてみる
- テストプログラム
--- cpu.c ---
int main()
{
while(1);
}
- コンパイル
# cc -o cpu cpu.c
# ls
cpu cpu.c
※「cpu」が実行プログラム
- 実行
# ./cpu
- CPU負荷状況の確認
# top
~~~
top - 21:42:42 up 23:56, 3 users, load average: 0.34, 0.09, 0.07
Tasks: 169 total, 2 running, 167 sleeping, 0 stopped, 0 zombie
%Cpu0 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 :★100.0 us, 0.0 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 16222052 total, 5879608 free, 1028452 used, 9313992 buff/cache
KiB Swap: 4063228 total, 4063228 free, 0 used. 14847876 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
13588 root 20 0 4212 348 276 R 100.0 0.0 0:24.78 cpu★
13512 root 20 0 58420 2220 1524 R 0.3 0.0 0:00.91 top
1 root 20 0 193928 7040 4180 S 0.0 0.0 0:04.45 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 kthreadd
4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 0:00.44 ksoftirqd/0
7 root rt 0 0 0 0 S 0.0 0.0 0:00.17 migration/0
--- cpu.c ---
int main()
{
while(1);
}
# cc -o cpu cpu.c
# ls
cpu cpu.c
※「cpu」が実行プログラム
# ./cpu
# top
~~~
top - 21:42:42 up 23:56, 3 users, load average: 0.34, 0.09, 0.07
Tasks: 169 total, 2 running, 167 sleeping, 0 stopped, 0 zombie
%Cpu0 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 :★100.0 us, 0.0 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 16222052 total, 5879608 free, 1028452 used, 9313992 buff/cache
KiB Swap: 4063228 total, 4063228 free, 0 used. 14847876 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
13588 root 20 0 4212 348 276 R 100.0 0.0 0:24.78 cpu★
13512 root 20 0 58420 2220 1524 R 0.3 0.0 0:00.91 top
1 root 20 0 193928 7040 4180 S 0.0 0.0 0:04.45 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 kthreadd
4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 0:00.44 ksoftirqd/0
7 root rt 0 0 0 0 S 0.0 0.0 0:00.17 migration/0
「cpu」プロセスが %CPU 100%利用して実行されています。
%CPUが100%とは1CPU(1論理CPU)のCPU使用率が100%で動いています。
ステータスはどういう状態でしょうか?
「S」の項目がプロセスの状態を示しています。
「R」なので「RUN」状態ですね。
- CPU上でプロセスが実行されているイメージ
Author And Source
この問題について(Linux性能分析), 我々は、より多くの情報をここで見つけました https://qiita.com/alfagt/items/72ecd955d85ce5a00df1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .