Linux进程管理 – 查看进程

一、ps命令(人为的手动捕获:<进程>的<运行时>信息)

参数:

-A : 列出所有进程

-u :显示指定用户相关进程

-ef :显示进程,及其父进程的信息

-e :列出所有进程

-o :只显示指定字段

-au : 显示较详细的资讯

-aux : 显示所有包含其他使用者的进程

au(x)格式说明

au(x) 输出格式:USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

USER :进程拥有者

PID :PID

%CPU :占用的CPU使用率

%MEM :占用的内存使用率

VSZ : 表示进程分配的虚拟内存

RSS :该进程分配的内存大小,不包括进入交换分区的内存

TTY :终端的次要装置号码(显示:是 本地终端 或 伪终端)

STAT : 该进程的状态

二、top命令(周期性自动捕获:<进程>的<运行时>信息)

参数:

-d 指定每两次屏幕信息刷新之间的时间间隔,当然用户可以使用s交互命令来更改

-p 通过指定监控进程ID来仅仅监控某个进程的状态

-S 指定累计模式

-s 使top命令在安全模式中运行,这将去除交互命令所带来的潜在危险

-i 使top不显示任何闲置或者僵尸进程

-c 显示整个命令行而不只是显示命令名

了解:top命令,所展示字段信息的含义

(1)load average 平均负载率

(2)任务(进程)

(3)CPU状态

(4)物理内存状态

(5)SWAP交互分区状态

三、netstat 和 ss 命令 (查看:socket 套接字)

1.netstat命令

<netstat命令>的功能:

显示:<网络连接>、<路由表>、<接口统计信息>、<伪装连接>和<多播成员>

注意:<netstat命令>将被淘汰,<ss命令>和<ip命令>可取代其功能

鉴于性能问题,面对<上万个连接>,<netstat命令>等于浪费生命

常用方式:

netstat -r 显示:本机路由表

netstat -tunp 显示:网络连接,即:socket网络套接字

netstat -tunlp 显示:侦听端口,即:socket网络套接字


2.SS 命令

<ss命令>的优势:

优势1:相比<nestat命令>,<ss命令>可以获取更多的<TCP/UDP状态信息>

优势2:相比<nestat命令>,<ss命令>更加高效

netstat命令:

直接[cat /proc/net/tcp],因此,执行速度会很慢,如果遇到<上万个连接>,<netstat命令>等于浪费生命

ss命令:

秘诀在于:利用到了TCP协议栈中<tcp_diag TCP矩阵对角元素提取模块>。

<tcp_diag 模块>是一个<分析统计模块>,可以获得<Linux内核>中的<第一手信息>,快捷高效。

系统中没有<tcp_diag 模块>,<ss命令>仍然可以执行,效率会变得稍慢,但仍比netstat快。


常用方式:

ss -tunp 显示:网络连接,即:socket网络套接字

ss -H -tunp 显示:网络连接,即:socket网络套接字,不显示标题行 ▶ 注意:更新之后<iproute软件包>,才支持 -H 选项

ss -tunlp 显示:侦听端口,即:socket网络套接字

ss -H -tunlp 显示:侦听端口,即:socket网络套接字,不显示标题行 ▶ 注意:更新之后<iproute软件包>,才支持 -H 选项

© 版权声明
THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发