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][目录或文件]
参数说明:
显示目录或者文件所占空间:
# 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]...
显示文件系统的磁盘使用情况统计:
# 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