本章为top与netstat指令
top指令
与ps指令相似,用来显示正在执行的进程,不同之处在于top指令可以更新显示正在运行的进程,即监控
基本语法
bash
top [选项]
选项
-d: [秒数] 指定每隔几秒更新一次,默认的话是3秒
-i :使top不显示闲置或者僵尸进程
-p :通过指定监控进程ID来仅仅监控某个进程的状态
显示的例子

| 作用 | |
|---|---|
| PID | 进程 ID |
| USER | 运行进程的用户 |
| PR | 优先级,数字越小越优先 |
| NI | nice 值,用户可调的优先级,-20~19 |
| VIRT | 虚拟内存大小 |
| RES | 物理内存大小 |
| SHR | 共享内存大小 |
| S | 进程状态 |
| %CPU | CPU 使用率 |
| %MEM | 物理内存使用率 |
| TIME+ | 累计 CPU 时间 |
| COMMAND | 命令名 |
上方的
第一行
top - [当前时间] [系统运行时间],[用户数] users, load average: 0.07, 0.16, 0.21(负载均衡,三个数加起来除以3不超过0.7就没问题)
第二行
Tasks: [系统任务总数] total,[正在运行的] running, [休眠的] sleeping, [停止的] stopped, [僵尸进程]zombie
第三行
%Cpu(s): [用户占用cpu] us, [系统占用] sy, 0.0 ni, [空闲占用] id, 0.3 wa, 0.0 hi, 0.3 si, 0.0 st
第四行
KiB Mem : [内存总数] total, [空闲的] free, [用了的] used, [缓冲] buff/cache
第五行
KiB Swap: [swap分区] total, [空闲的] free, [用了的] used. [可获取的] avail Mem
监控时也可以按下一些键进行一些操作
| 键 | 作用 |
|---|---|
| P | 以CPU使用率排序,是默认项 |
| M | 以内存使用率排序 |
| N | 以PID排序 |
| q | 退出 |
| u | 再输入用户名可以指定监控某一个用户的进程 |
| k | 再输入进程号可以终止该进程号的进程 |
同时,之前的d(指定更新速度)和i(不显示闲置和僵尸进程)也可以在这里用
netstat指令
用于监控网络状态,比如哪些进程在监听哪些端口,有哪些连接
基本语法
bash
netstat [选项]
选项
-an:按一定顺序进行输出
-p :现实哪个进程在调用
-an输出

| 作用 | |
|---|---|
| Proto | 网络协议 |
| Recv-Q | 接收队列中待处理的字节数,等待读取 |
| Send-Q | 发送队列中待处理的字节数,发了还没收到确认 |
| LocalAddress | 本机地址:端口 |
| Foreign Address | 对端地址:端口 |
| State | 连接状态 |
本机地址和对端地址处可能有那种三个冒号这样的,这种是以IPv6的形式监听的

State的状态:
| LISTEN | 服务在监听,等待连接 |
| ESTABLISHED | 连接已建立,正在通讯 |
| TIME_WAIT | 主动关闭后等待,确保对方收到最后ACK(断开后会存在一会确定不是网络临时有问题 |
-anp显示

最后增加了个进程号/进程名
实例
查看服务名为sshd的服务的信息
bash
netstat -anp | grep sshd