Help us understand the problem. What is going on with this article?

Linuxリソース管理コマンドまとめ

総合的なリソース管理

top

  • システム全体のCPU,メモリ,スワップ,ロードアベレージの確認
  • 各プロセスの状態,CPU,,メモリ使用率の確認
  • 定期的な表示更新による監視
top - 15:00:31 up  5:02,  1 user,  load average: 0.00, 0.01, 0.05
Tasks: 131 total,   1 running, 130 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   498888 total,    49300 free,   323580 used,   126008 buff/cache
KiB Swap:  2097148 total,   956264 free,  1140884 used.   144772 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                                     
 2892 isucon    20   0   37280    260      0 S  0.3  0.1   0:01.83 h2o                                                                                                         
    1 root      20   0  125460   2716   1636 S  0.0  0.5   0:01.72 systemd                                                                                                     
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.03 kthreadd                                                                                                    
    3 root      20   0       0      0      0 S  0.0  0.0   0:03.76 ksoftirqd/0  

sar

  • システム全体のCPU,メモリ,I/O,ネットワーク受送信量の確認
  • 定期的にログを取得し、過去に遡ってリソース状況を確認

メモリの管理

free

  • システム全体のメモリ,スワップ使用量の確認
$ free -h
              total        used        free      shared  buff/cache   available
Mem:           487M        322M         32M        1.1M        132M        134M
Swap:          2.0G        1.1G        938M

vmstat

  • システム全体のメモリ,スワップ,ディスクアクセス,CPUの確認
vmstat 5 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0 1140884  48924      0 126580  253  223   834   299   60   96  1  1 98  0  0
 0  0 1140884  48924      0 126580    0    0     0     0    8   33  0  0 100  0  0
 0  0 1140884  48924      0 126580    0    0     0     0    8   33  0  0 100  0  0

ディスクI/Oの管理

iostat

  • デバイス毎のI/O情報、システム全体のCPU使用率の確認
 iostat 5
Linux 3.10.0-957.12.2.el7.x86_64 (webapp1)  09/11/2019  _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.61    0.00    0.78    0.46    0.00   98.16

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              26.62       826.70       295.85   15166570    5427575

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00    0.00    0.00    0.00  100.00

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.20         1.59         0.00          8          0

iotop

  • topコマンドのようにI/O情報を監視
  • root権限が必要
# iotop 

Total DISK READ :      50.92 M/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:      50.92 M/s | Actual DISK WRITE:      15.17 M/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
 3559 be/4 root       22.89 M/s    0.00 B/s  0.00 % 12.63 % python /sbin/iotop
 3179 be/4 root        2.17 M/s    0.00 B/s  0.00 %  8.26 % python2 -Es /usr/sbin/tuned -l -P
 3168 be/4 mysql       0.00 B/s    0.00 B/s  0.00 %  6.14 % mysqld --basedir=/

プロセスの管理

ps

  • プロセス毎のCPU,メモリ,状態,スレッド数などの確認
# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.4 125460  2252 ?        Ss   09:57   0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
root         2  0.0  0.0      0     0 ?        S    09:57   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    09:57   0:03 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   09:57   0:00 [kworker/0:0H]
root         7  0.0  0.0      0     0 ?        S    09:57   0:00 [migration/0]

ディスク容量の管理

df

  • ファイルシステム毎のディスク使用量の確認
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        40G  5.7G   35G  15% /
devtmpfs        236M     0  236M   0% /dev
tmpfs           244M     0  244M   0% /dev/shm
tmpfs           244M  4.5M  240M   2% /run
tmpfs           244M     0  244M   0% /sys/fs/cgroup
tmpfs            49M     0   49M   0% /run/user/1000

du

  • ディレクトリ毎のディスク使用量の確認
$ sudo du /var/ --max-depth=1
4   /var/tmp
131852  /var/lib
25516   /var/log
0   /var/adm
318004  /var/cache
8   /var/db
0   /var/empty
0   /var/games
0   /var/gopher
0   /var/local
0   /var/nis
0   /var/opt
0   /var/preserve
16  /var/spool
0   /var/yp
0   /var/kerberos
4   /var/www
475408  /var/
Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away