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等输出结果都类似,只要用习惯了可以起到快速处理问题的目的就可以了,这里就不再累述,上下两篇有自己使用的总结也有参考一些书还有其他网友的博客,特此声明。