01
top命令
第一个命令就是top,这个命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况,有点类似Windows下的任务管理器。
最上面每一行都表示一种性能数据:
- top:这一行是汇总信息,09:26:48是系统时间;up 169 days表示运行时间;1 user 表示当前登录用户数;load average 是负载情况,后面的三个数字分别表示1分钟、5分钟、15分钟的负载情况load average 的数据是每隔5秒钟检查一次活跃的进程数,然后计算出结果。
-
Tasks任务:total表示总进程数;running表示运行中的进程;sleeping表示休眠的进程;stopped 表示停止的进程;zombie 表示僵尸进程CPU状态:us是用户空间占用CPU的百分比;sy是内核空间占用CPU的百分比;ni是改变过优先级的进程占用CPU的百分比;id是 空闲
-
CPU百分比;wa是IO等待占用CPU的百分比;hi是硬中断占用CPU的百分比;si是软中断占用CPU的百分比。
-
Mem内存:total是内存总量;used是使用掉的内存;free是空闲的内存;buffers是缓存的内存量
-
Swap交换分区:total、used、free跟内存一样;cached是缓冲的交换区总量
下面的列表是各个进程的状态监控,具体每一项含义如下:
-
PID — 进程
-
idUSER — 进程所有者
-
PR — 进程优先级
-
NI — nice值。负值表示高优先级,正值表示低优先级
-
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
-
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
-
SHR — 共享内存大小,单位kb
-
S —进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
-
%CPU — 上次更新到现在的CPU时间占用百分比
-
%MEM — 进程使用的物理内存百分比
-
TIME+ — 进程使用的CPU时间总计,单位1/100秒
-
COMMAND — 进程名称(命令名/命令行)
02
ps命令
第二个命令是ps,常用的命令是ps aux或ps -ef,主要作用是查看进程,经常和grep配合使用。这个命令的主要使用场景是查看进程状态或者查找进程号。使用例子如下:ps aux | grep 'nginx' 或者 ps -ef | grep 'nginx'
03
grep命令
这个命令主要用于是在指定文件或文件夹中查找字符串,最常用的场景是跟ps、cat、tail等命令一起使用。例子如下:tail -f app.log | grep 'register'
04
netstat命令
这是一个与网络相关的命令,我用这个命令最主要的是查找端口,例如:netstat -lntup | grep 80除此之外,netstat还有很多其他功能,感兴趣的可以自己搜索。
05
find命令
find命令用来在指定目录下查找文件,比如在服务器上homewww目录查找app.c这个文件,就可以这样来查:find /home -name "*.c"
06
kill命令
kill命令是用于杀进程的命令,比如要杀掉进程号为2198的进程,则命令是:kill 2198。也可以使用kill -9 2198来彻底啥事进程。
07
tail命令
我们经常使用tail命令来监控实时日志,有时候也会配合grep一起使用:
tail -f app.log | grep login这个命令是实时地查看当前目录下app.log日志中带有login标识符的输入流。
08
cat命令
cat命令经常用于查看文件,有时候会配合grep一起使用,用法如下:
cat app.log | grep 'login' | more这个命令先打开当前目录下的app.log日志文件,然后通过grep查询带有login的日志,最后用more来分页显示。如果想实现倒序显示,可以使用tac命令,跟cat相同作用,用法如下:tac app.log | grep 'login' | more