Linux查看CPU使用情况、内存使用情况、磁盘空间大小、进程状态 查看

一,CPU使用情况 查看

1.1 top 命令

top
top - 19:56:31 up 161 days,  4:38,  2 users,  load average: 2.49, 3.00, 2.80
Tasks: 162 total,   2 running, 160 sleeping,   0 stopped,   0 zombie
%Cpu(s):  8.5 us,  5.4 sy,  0.0 ni, 83.5 id,  0.0 wa,  0.0 hi,  2.6 si,  0.0 st
KiB Mem :  3880636 total,   171464 free,  1357028 used,  2352144 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  2043988 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                    
21232 root      20   0  905480 663316  30280 S   9.6 17.1  19894:35 kube-apiserver                                                                                             
25189 root      20   0 1295624  81080  22384 S   4.6  2.1  11888:03 kubelet                                                                                                    
  648 root      20   0  225144  89768  31180 S   4.0  2.3   3566:15 kube-controller                                                                                            
24324 root      20   0   10.2g  74352  11272 S   3.0  1.9   5146:10 etcd                                                                                                       
26731 root      20   0  145512  30100  14048 S   2.0  0.8   4326:39 calico-node                                                                                                
 1109 root      20   0  699192  71476   7572 S   1.7  1.8   6281:28 dockerd                                                                                                    
26889 root      20   0  146536  24568   9296 S   1.0  0.6 987:07.29 coredns                                                                                                    
    6 root      20   0       0      0      0 S   0.7  0.0 200:17.24 ksoftirqd/0                                                                                                
   14 root      20   0       0      0      0 S   0.7  0.0 260:16.42 ksoftirqd/1                                                                                                
 3527 root      20   0  162028   2324   1592 R   0.7  0.1   0:00.80 top                                                                                                        
27049 root      20   0  146536  24984   9328 S   0.7  0.6 996:27.41 coredns                                                                                                    
    9 root      20   0       0      0      0 R   0.3  0.0 363:20.35 rcu_sched                                                                                                  
  471 root      20   0       0      0      0 S   0.3  0.0 126:46.53 xfsaild/dm-0                                                                                               
  812 root      20   0  231664   6004   4584 S   0.3  0.2 331:05.03 vmtoolsd                                                                                                   
15065 root      20   0  147588  26660   7952 S   0.3  0.7 437:47.76 kube-scheduler                                                                                             
    1 root      20   0  125892   4028   2192 S   0.0  0.1 281:44.16 systemd                                                                                                    
    2 root      20   0       0      0      0 S   0.0  0.0   0:03.45 kthreadd                                                                                                   
    4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H                                                                                               
    7 root      rt   0       0      0      0 S   0.0  0.0   5:36.48 migration/0                                                                                                
    8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh                                                                                                     
   10 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 lru-add-drain                                                                                              
   11 root      rt   0       0      0      0 S   0.0  0.0   1:25.78 watchdog/0                                                                                                 
   12 root      rt   0       0      0      0 S   0.0  0.0   1:54.79 watchdog/1                                                                                                 
   13 root      rt   0       0      0      0 S   0.0  0.0   5:35.98 migration/1                                                                                                
   16 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/1:0H                                                                                               
   18 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kdevtmpfs                                                                                                  
   19 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 netns                                                                                                      
   20 root      20   0       0      0      0 S   0.0  0.0   0:13.76 khungtaskd                                                                                                 
   21 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 writeback                                                                                                  
   22 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kintegrityd                                                                                                
   23 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 bioset                                                                                                     
   24 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 bioset                                                                                                     
   25 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 bioset                                                                                                     
   26 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kblockd                                                                                                    
   27 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 md           

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

  运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等。退出 top 的命令为 q (在 top 运行中敲 q 键一次)。

内容解释:

第一行(top):

  15:24:36 系统当前时刻

  14 days 系统启动后到现在的运作时间

  3 users 当前登录到系统的用户,更确切的说是登录到用户的终端数 -- 同一个用户同一时间对系统多个终端的连接将被视为多个用户连接到系统,这里的用户数也将表现为终端的数目

  load average 当前系统负载的平均值,后面的三个值分别为1分钟前、5分钟前、15分钟前进程的平均数,一般的可以认为这个数值超过 CPU 数目时,CPU 将比较吃力的负载当前系统所包含的进程

第二行(Tasks):

  288 total 当前系统进程总数

  1 running 当前运行中的进程数

  287 sleeping 当前处于等待状态中的进程数

  0 stoped 被停止的系统进程数

  0 zombie 僵尸进程数

第三行(Cpus):

  7.3% us 用户空间占用CPU百分比
  2.0% sy 内核空间占用CPU百分比
  0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
  90.4% id 空闲CPU百分比
  0.3% wa 等待输入输出的CPU时间百分比
  0.0% hi
  0.0% si

  0.0% st

第四行(Mem):

  2042616 total 物理内存总量
  1770116 used 使用的物理内存总量
  272500 free 空闲内存总量
  163912 buffers 用作内核缓存的内存量
    

第五行(Swap):

表示类别同第四行(Mem),但此处反映着交换分区(Swap)的使用情况。通常,交换分区(Swap)被频繁使用的情况,将被视作物理内存不足而造成的。

  2094076 total 交换区总量
  45052 used 使用的交换区总量
  2049024 free 空闲交换区总量
  346624 cached 缓冲的交换区总量

最下部分的进程列表栏:

以 PID 区分的进程列表将根据所设定的画面更新时间定期的更新。通过 top 内部命令可以控制此处的显示方式:

  PID:进程的ID
  USER:进程所有者
  PR:进程的优先级别,越小越优先被执行
  NInice:值
  VIRT:进程占用的虚拟内存
  RES:进程占用的物理内存
  SHR:进程使用的共享内存
  S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
  %CPU:进程占用CPU的使用率
  %MEM:进程使用的物理内存和总内存的百分比
  TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
  COMMAND:进程启动命令名称

top 运行中可以通过 top 的内部命令对进程的显示方式进行控制。内部命令如下表:

  s- 改变画面更新频率

  l - 关闭或开启第一部分第一行 top 信息的表示

  t - 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示

  m - 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示

  N - 以 PID 的大小的顺序排列表示进程列表(第三部分后述)

  P - 以 CPU 占用率大小的顺序排列进程列表 (第三部分后述)

  M - 以内存占用率大小的顺序排列进程列表 (第三部分后述)

  h - 显示帮助

  n - 设置在进程列表所显示进程的数量

  q - 退出 top

  s -改变画面更新周期

二,内存使用情况 查看

2.1 free 命令

free
              total        used        free      shared  buff/cache   available
Mem:        3880636     1352988      176332      190392     2351316     2048028
Swap:             0           0           0

free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。

下面是对这些数值的解释:
  total:总计物理内存的大小。
  used:已使用多大。
  free:可用有多少。
  Shared:多个进程共享的内存总额。
  Buffers/cached:磁盘缓存的大小。


第三行(-/+ buffers/cached):
  used:已使用多大。
  free:可用有多少。

三,磁盘空间大小 查看

3.1 du命令

Linux du命令用于显示目录或文件的大小。

du会显示指定的目录或文件所占用的磁盘空间。

语法

du [-abcDhHklmsSx][-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>][--max-depth=<目录层数>][--help][--version][目录或文件]

参数说明

  • -a或-all 显示目录中个别文件的大小。
  • -b或-bytes 显示目录或文件大小时,以byte为单位。
  • -c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
  • -D或--dereference-args 显示指定符号连接的源文件大小。
  • -h或--human-readable 以K,M,G为单位,提高信息的可读性。
  • -H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
  • -k或--kilobytes 以1024 bytes为单位。
  • -l或--count-links 重复计算硬件连接的文件。
  • -L<符号连接>或--dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
  • -m或--megabytes 以1MB为单位。
  • -s或--summarize 仅显示总计。
  • -S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
  • -x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
  • -X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。
  • --exclude=<目录或文件> 略过指定的目录或文件。
  • --max-depth=<目录层数> 超过指定层数的目录后,予以忽略。
  • --help 显示帮助。
  • --version 显示版本信息。

显示目录或者文件所占空间:

# du
608     ./test6
308     ./test4
4       ./scf/lib
4       ./scf/service/deploy/product
4       ./scf/service/deploy/info
12      ./scf/service/deploy
16      ./scf/service
4       ./scf/doc
4       ./scf/bin
32      ./scf
8       ./test3
1288 
    

只显示当前目录下面的子目录的目录大小和当前目录的总的大小,最下面的1288为当前目录的总大小

显示指定文件所占空间

# du log2012.log 
300     log2012.log

方便阅读的格式显示test目录所占空间情况:

# du -h test
608K    test/test6
308K    test/test4
4.0K    test/scf/lib
4.0K    test/scf/service/deploy/product
4.0K    test/scf/service/deploy/info
12K     test/scf/service/deploy
16K     test/scf/service
4.0K    test/scf/doc
4.0K    test/scf/bin
32K     test/scf
8.0K    test/test3
1.3M    test

3.2 df 命令

Linux df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。

语法

df [选项]... [FILE]...
  • 文件-a, --all 包含所有的具有 0 Blocks 的文件系统
  • 文件--block-size={SIZE} 使用 {SIZE} 大小的 Blocks
  • 文件-h, --human-readable 使用人类可读的格式(预设值是不加这个选项的...)
  • 文件-H, --si 很像 -h, 但是用 1000 为单位而不是用 1024
  • 文件-i, --inodes 列出 inode 资讯,不列出已使用 block
  • 文件-k, --kilobytes 就像是 --block-size=1024
  • 文件-l, --local 限制列出的文件结构
  • 文件-m, --megabytes 就像 --block-size=1048576
  • 文件--no-sync 取得资讯前不 sync (预设值)
  • 文件-P, --portability 使用 POSIX 输出格式
  • 文件--sync 在取得资讯前 sync
  • 文件-t, --type=TYPE 限制列出文件系统的 TYPE
  • 文件-T, --print-type 显示文件系统的形式
  • 文件-x, --exclude-type=TYPE 限制列出文件系统不要显示 TYPE
  • 文件-v (忽略)
  • 文件--help 显示这个帮手并且离开
  • 文件--version 输出版本资讯并且离开

显示文件系统的磁盘使用情况统计:

# df 
Filesystem     1K-blocks    Used     Available Use% Mounted on 
/dev/sda6       29640780 4320704     23814388  16%     / 
udev             1536756       4     1536752    1%     /dev 
tmpfs             617620     888     616732     1%     /run 
none                5120       0     5120       0%     /run/lock 
none             1544044     156     1543888    1%     /run/shm 

第一列指定文件系统的名称,第二列指定一个特定的文件系统1K-块1K是1024字节为单位的总内存。用和可用列正在使用中,分别指定的内存量。

使用列指定使用的内存的百分比,而最后一栏"安装在"指定的文件系统的挂载点。

df也可以显示磁盘使用的文件系统信息:

# df test 
Filesystem     1K-blocks    Used      Available Use% Mounted on 
/dev/sda6       29640780    4320600   23814492  16%       /

用一个-i选项的df命令的输出显示inode信息而非块使用量。

df -i 
Filesystem      Inodes    IUsed    IFree     IUse% Mounted on 
/dev/sda6      1884160    261964   1622196   14%        / 
udev           212748     560      212188    1%         /dev 
tmpfs          216392     477      215915    1%         /run 
none           216392     3        216389    1%         /run/lock 
none           216392     8        216384    1%         /run/shm 

显示所有的信息:

# df --total 
Filesystem     1K-blocks    Used    Available Use% Mounted on 
/dev/sda6       29640780 4320720    23814372  16%     / 
udev             1536756       4    1536752   1%      /dev 
tmpfs             617620     892    616728    1%      /run 
none                5120       0    5120      0%      /run/lock 
none             1544044     156    1543888   1%      /run/shm 
total           33344320 4321772    27516860  14% 

我们看到输出的末尾,包含一个额外的行,显示总的每一列。

-h选项,通过它可以产生可读的格式df命令的输出:

# df -h 
Filesystem      Size  Used   Avail Use% Mounted on 
/dev/sda6       29G   4.2G   23G   16%     / 
udev            1.5G  4.0K   1.5G   1%     /dev 
tmpfs           604M  892K   603M   1%     /run 
none            5.0M     0   5.0M   0%     /run/lock 
none            1.5G  156K   1.5G   1%     /run/shm 

我们可以看到输出显示的数字形式的'G'(千兆字节),"M"(兆字节)和"K"(千字节)。

这使输出容易阅读和理解,从而使显示可读的。请注意,第二列的名称也发生了变化,为了使显示可读的"大小"。

四,进程状态 查看

4.1 ps 命令

ps命令用于报告当前系统的进程状态。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。

 ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0 20670 20668  0  80   0 - 29131 do_wai pts/1    00:00:00 bash
0 R     0 30596 20670  0  80   0 - 38312 -      pts/1    00:00:00 ps

F 代表这个程序的旗标 (flag), 4 代表使用者为 super user;

  S 代表这个程序的状态 (STAT);

  PID 程序的 ID ;

  C CPU 使用的资源百分比

  PRI 这个是 Priority (优先执行序) 的缩写;

  NI 这个是 Nice 值。

  ADDR 这个是 kernel function,指出该程序在内存的那个部分。如果是个 running # 的程序,一般就是『 - 』

  SZ 使用掉的内存大小;

  WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作;

  TTY 登入者的终端机位置;

  TIME 使用掉的 CPU 时间。

  CMD 所下达的指令

4.2 pmap 命令

 pmap命令用于报告进程的内存映射关系

pmap -d 21232
21232:   kube-apiserver --advertise-address=192.168.100.66 --allow-privileged=true --authorization-mode=Node,RBAC --client-ca-file=/etc/kubernetes/pki/ca.crt --enable-admission-plugins=NodeRestriction --enable-bootstrap-token-auth=true --etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt --etcd-certfile=/etc/kubernetes/pki/apiserver-etcd-client.crt --etcd-keyfile=/etc/kubernetes/pki/apiserver-etcd-client.key --etcd-servers=https://127.0.0.1:2379 --insecure-port=0 --kubelet-client-certificate=/etc/kubernetes/pki/apiserver
Address           Kbytes Mode  Offset           Device    Mapping
0000000000400000   51916 r-x-- 0000000000000000 0fd:00000 kube-apiserver
00000000036b3000  118216 r---- 00000000032b3000 0fd:00000 kube-apiserver
000000000aa25000     520 rw--- 000000000a625000 0fd:00000 kube-apiserver
000000000aaa7000     208 rw--- 0000000000000000 000:00000   [ anon ]
000000c000000000   63488 rw--- 0000000000000000 000:00000   [ anon ]
000000c003e00000    2048 rw--- 0000000000000000 000:00000   [ anon ]
000000c004000000   12288 rw--- 0000000000000000 000:00000   [ anon ]
000000c004c00000   18432 rw--- 0000000000000000 000:00000   [ anon ]
000000c005e00000   18432 rw--- 0000000000000000 000:00000   [ anon ]
000000c007000000    2048 rw--- 0000000000000000 000:00000   [ anon ]
000000c007200000    2048 rw--- 0000000000000000 000:00000   [ anon ]
000000c007400000    6144 rw--- 0000000000000000 000:00000   [ anon ]
000000c007a00000    2048 rw--- 0000000000000000 000:00000   [ anon ]
000000c007c00000   75776 rw--- 0000000000000000 000:00000   [ anon ]
000000c00c600000    2048 rw--- 0000000000000000 000:00000   [ anon ]
000000c00c800000  122880 rw--- 0000000000000000 000:00000   [ anon ]
000000c014000000  141312 rw--- 0000000000000000 000:00000   [ anon ]
000000c01ca00000    2048 rw--- 0000000000000000 000:00000   [ anon ]
000000c01cc00000   79872 rw--- 0000000000000000 000:00000   [ anon ]
000000c021a00000    2048 rw--- 0000000000000000 000:00000   [ anon ]
000000c021c00000    6144 rw--- 0000000000000000 000:00000   [ anon ]
000000c022200000    4096 rw--- 0000000000000000 000:00000   [ anon ]
000000c022600000   38912 rw--- 0000000000000000 000:00000   [ anon ]
000000c024c00000    2048 rw--- 0000000000000000 000:00000   [ anon ]
000000c024e00000    2048 rw--- 0000000000000000 000:00000   [ anon ]
000000c025000000    2048 rw--- 0000000000000000 000:00000   [ anon ]
000000c025200000   16384 rw--- 0000000000000000 000:00000   [ anon ]
000000c026200000    2048 rw--- 0000000000000000 000:00000   [ anon ]
000000c026400000    6144 rw--- 0000000000000000 000:00000   [ anon ]
000000c026a00000    2048 rw--- 0000000000000000 000:00000   [ anon ]
000000c026c00000    2048 rw--- 0000000000000000 000:00000   [ anon ]
000000c026e00000    2048 rw--- 0000000000000000 000:00000   [ anon ]
000000c027000000    2048 rw--- 0000000000000000 000:00000   [ anon ]
000000c027200000    4096 rw--- 0000000000000000 000:00000   [ anon ]
000000c027600000    2048 rw--- 0000000000000000 000:00000   [ anon ]
000000c027800000    2048 rw--- 0000000000000000 000:00000   [ anon ]
000000c027a00000    2048 rw--- 0000000000000000 000:00000   [ anon ]
000000c027c00000    4096 rw--- 0000000000000000 000:00000   [ anon ]
00007fb0235ce000   18936 rw--- 0000000000000000 000:00000   [ anon ]
00007fb02484d000   11784 rw--- 0000000000000000 000:00000   [ anon ]
00007fb0253d5000    4228 rw--- 0000000000000000 000:00000   [ anon ]
00007fb0257fa000    3140 rw--- 0000000000000000 000:00000   [ anon ]
00007fb025b13000   41032 rw--- 0000000000000000 000:00000   [ anon ]
00007fffd7eb2000     132 rw--- 0000000000000000 000:00000   [ stack ]
00007fffd7ee5000       8 r-x-- 0000000000000000 000:00000   [ anon ]
ffffffffff600000       4 r-x-- 0000000000000000 000:00000   [ anon ]
mapped: 905484K    writeable/private: 735340K    shared: 0K

猜你喜欢

转载自blog.csdn.net/oopxiajun2011/article/details/106105280