当前位置: 代码迷 >> 综合 >> Linux-系统管理-常用命令(下)
  详细解决方案

Linux-系统管理-常用命令(下)

热度:117   发布时间:2023-09-19 13:33:03.0

netstat

netstat命令用于显示本机网络连接、运行端口、路由表等信息,常用信息如下:
-a 显示本机的所有连接和监听端口。
-n 以网络ip的形势显示当前建立的有效连接和端口
-r 显示路由信息,输出结果跟route命令的结果一致
-s 显示安协议的统计信息。默认将显示IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP和UDPv6
-v 显示当前的有效连接,与“-n”选项类似
-t 显示所有的TCP协议连接情况
-u 显示所有的UDP协议连接情况
-c 后面接秒数,表示采样统计的时间间隔
-i 显示自动配置接口的状态
-l 仅显示连接状态为“LISTEN”的服务的网络状态
-p 显示连接对应的PID与程序名

netstat -i:

[@example.com~]$netstat -i
Kernel Interface table
Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500   0 10440000540      0     90      0 10821306444      0      0      0 BMRU
eth1       1500   0  4378919      0      0      0    22680      0      0      0 BMRU
lo        16436   0  6496405      0      0      0  6496405      0      0      0 LRU 

上面每相输出的解释如下:
Iface 表示网络设备的接口名称。
MTU 表示最大传输单元,单位字节。
RX-OK/TX-OK 表示已经准确无误的接收和发送了多少数据包
RX-ERR/TX-ERR 表示接收 发送数据包是产生了多少错误
RX-DRP/TX-DRP 表示接收 发送数据宝石丢弃了多少数据包
RX-OVR/TX-OVR 表示由于误差而遗失了多少包
Flg 表示接口标签,其中:
L 表示该接口是个回环设备
B 表示设置了广播地址
M 表示接受所有数据包
R 表示接口正在运行
U 表示接口处于活动状态
O 表示在该接口上禁用arp
P 表示一个点到点的连接


top

top提供了实时对系统处理器状态的监控,能够实时显示系统中各个进程的资源占用状况。top可以按照cpu的使用、内存的使用和执行时间对系统任务进程进行排序显示。
同时top还可以通过交互式命令进行设定显示。
常用参数:
-d 指定采样统计的时间间隔
-i 不显示闲置或者僵死的进程信息
-c 显示命令的绝对路径,在root下才有权限,普通用户看不到。
-s 安全模式下使用,取消了交互式的指令
-b 分屏显示输出信息
-n top输出更新的次数,完成后退出top

交互参数:
h/?, 显示帮助信息
k, 终止一个进程,系统将提示用户输入一个需要终止的进程PID
i, 忽略闲置和僵死进程,on/off式的
s, 改变top输出信息两次之间的间隔时间,系统将提示输入新的时间,单位是秒,如果是系哦啊书,即换算成毫秒。如果输入0,系统输出将不断被刷新,默认刷新时间是5s。
o/O, 改变top输出信息中显示项的顺序。按小写a~z可以将相应的列向右移动,而按大写的A~Z可以将相应的列向左移动,最后回车键确定
f/F, 从当前显示列中添加或删除项目。按f,会显示列的列表,按a~z之间的任意键即可显示或者隐藏对应的列,最后回车确认
m, 切换显示内存信息
t, 切换显示进程和cpu状态信息
r, 重新设置一个进程的优先级,系统提示用户输入需要改变的进程PID以及需要设置的进程有限机制,输入一个正直将使优先级降低,反之则是改进程拥有更高的优先级。默认是10
l, 切换显示平均负载和启动时间信息
q, 退出
c, 显示命令的绝对路径和命令名称信息
M, 根据主流内存大小进行排序输出
P, 根据cpu使用百分比大小进行排序输出
T, 根据时间/累计时间进行排序输出
S, 切换到累计模式
W, 将当前top设置写入~/.toprc文件中

top - 22:41:19 up 299 days,  4:30, 10 users,  load average: 1.20, 1.34, 1.26
Tasks: 995 total,   1 running, 994 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.2%us,  0.2%sy,  0.0%ni, 99.5%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  16426812k total,  7799076k used,  8627736k free,   687344k buffers
Swap:  5156120k total,     1040k used,  5155080k free,  6109360k cachedPID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                         
32721 root      15   0 54384 2820 2196 S  0.0  0.0   0:00.00 ssh 221.228.206.72 ?    pid=$(ps -ef|grep gspyMain.py|grep -v grep|awk '{print $2}')?    if echo
32717 root      20   0  8712  512  324 S  0.0  0.0   0:00.00 sh sendshell.sh                                                                                 
32706 root      15   0  8844 1264  904 S  0.0  0.0   0:00.02 sh sendshell.sh                                                                                 
32589 root      15   0  8976 1392  908 S  0.0  0.0   0:00.04 bash logbakexchange.sh                                                                          
32587 root      22   0 10800  472  320 S  0.0  0.0   0:00.00 /bin/sh -c (cd /home/maintain/crontab/waigua/;bash logbakexchange.sh &>/dev/null )              
32580 root      22   0 10800 1064  912 S  0.0  0.0   0:00.00 /bin/sh -c (cd /home/maintain/crontab/waigua/;bash logbakexchange.sh &>/dev/null )              
32569 root      21   0 99.8m 1644  904 S  0.0  0.0   0:00.00 crond           

top输出分两部分:统计信息区和进程信息区,即前5行为统计区
统计区:

第一行为任务队列信息,其内容跟uptime输出一致
依次表示当前系统时间,系统自上次启动到现在运行时间,当前登录系统的用户数,系统平局负载,load average后面的三个数分别表示1min、5min、15min的平均任务队
列长度

第二行为进程信息,第三行为cpu信息
Tasks:
total,进程总数。
running,正在运行的进程数。
sleeping,处于休眠的进程数。
stopped,停止的进程。
zombie,僵死的进程数。
Cpu(s),cpu信息。
us,用户进程占用时间片百分比
sy,系统进程占用cpu的百分比
ni,用户进程空间内改变过优先级的进程占用cpu百分比
id空闲cpu占用百分比
wa,等待输入输出的进程占用cpu的百分比

第四行为内存信息,第五行为交换区信息
Mem:
total,物理内存大小
used,已经使用的的物理内存大小
free,目前空闲内存大小
buffers,用作内黑川中取得内存大小
Swap:
total,总交换区大小
used,已使用的
free,可用的
cached,高速缓存的大小

进程区
PID,进程号
USER,进程所有者的用户名
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+,jinchengshiyongcpu的时间总计,单位1/100s。
COMMAND,正在运行进程的命令名或命令路径

其他常用的还有mpstat、dstat,效果与之前整理的sar、top等输出结果都类似,只要用习惯了可以起到快速处理问题的目的就可以了,这里就不再累述,上下两篇有自己使用的总结也有参考一些书还有其他网友的博客,特此声明。