ps,全称为Process Status进程状态,ps命令用来列出当前系统中正在运行中的进程快照。
netstat,全称为network statistic网络统计,用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
top,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。执行top命令时会在前台显示,这时可以使用键盘按键发出指令,如按c键可以显示cmd命令全长。
ps命令
工作中经常用到的是就是查找指定的进程,然后获取该进程占用的端口。或者反过来,查找占用的端口,然后查找启动该端口的进程。
ps -ef:查看进程,-e表示显示所有进程,-f表示全格式输出,包括命令行参数。可以查看如下帮助。

ps -T -p 12345:查看进程开启的所有线程,-T表示显示线程SPID列,-p后接pid。一般java内存或cpu飙高时,使用该命令可以查看到是哪个线程导致的,如垃圾回收线程,有针对性的调大内存等操作进行优化。

nestat命令
netstat -tunpl:以ip形式查看所有tcp,udp协议端口。-t表示tcp,-u表示udp。-n表示numeric数字ip形式,如果不使用-n,则默认ip和端口会显示为域名,如下图,3306端口显示为mysql了,如果使用grep 3306则无法取到这条记录。-p表示programs显示正在使用Socket的程序PID和程序名称。-l表示列出监听中的socket,一般使用可以加上或不加这个选项,不加-l则不会列出监听状态的socket。

top命令
top在排查系统资源占用情况时很常用,一般直接输入命令top不用带其他选项。如果需要查看某个进程下面的线程资源动态占用情况,使用top -H -p <pid>
排序:使用top默认进入时,是以cpu资源占用排序的。按x可以高亮排序列,接着按shift + '>'或者'<'可以切换排序列。
交互命令:按对应的键,交互如下:
t 切换显示进程和CPU状态信息
c 切换显示命令名称和完整命令行
M 根据驻留内存大小进行排序
H 切换为线程模式
P 根据CPU使用百分比大小进行排序
T 根据时间/累计时间进行排序
q 退出程序
参考资料
- netstat:www.cnblogs.com/peida/archi…