1. netstat 介绍
Netstat命令用于显示本机网络连接、运行端口、路由表等信息.
2. netstat 命令用法
命令行启动参数:
netstat[选项]
-a (all):显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接,断开连接(CLOSE_WAIT)或者处于联机等待状态的(TIME_WAIT)等-t (tcp):显示tcp相关选项
-u (udp):仅显示udp相关选项
-n :拒绝显示别名,能显示数字的全部转化成数字。
-l :仅列出有在Listen (监听) 的服務状态
-p :显示建立相关链接的程序名
-r :显示路由信息,路由表,除了显示有效路由外,还显示当前有效的连接
-e :显示扩展信息,例如uid等st
-s :按各个协议进行统计
-c :每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
Iface:表示网络设备的接口名称。
MTU:表示最大传输单元,单位为字节。
RX-OK/TX-OK:表示已经准确无误地接收/发送了多少数据包。
RX-ERR/TX-ERR:表示接收/发送数据包时候产生了多少错误。
RX-DRP/TX-DRP:表示接收/发送数据包时候丢弃了多少数据包。
RX-OVR/TX-OVR:表示由于误差而丢失了多少数据包。
Flg表示接口标记,其中
B 已经设置了一个广播地址。L 该接口是一个回送设备。M 接收所有数据包(混乱模式)。N 避免跟踪。O 在该接口上,禁用A R P。P 这是一个点到点链接。R 接口正在运行。U 接口处于“活动”状态。
其中RX-ERR/TX-ERR、RX-DRP/TX-DRP和RX-OVR/TX-OVR的值应该都为0,如果不为0,并且很大,那么网络质量肯定有问题,网络传输性能也一代会下降。
3 . ps 命令
ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的。
4 .strace 命令
strace常用来跟踪进程执行时的系统调用和所接收的信号。在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。
yum -y install strace
strace使用参数
-p:跟踪指定的进程。
-f:跟踪由fork子进程系统调用。
-F:尝试跟踪vfork子进程系统调吸入,与-f同时出现时, vfork不被跟踪。
-o filename:默认strace将结果输出到stdout。通过-o可以将输出写入到filename文件中。
-ff:常与-o选项一起使用,不同进程(子进程)产生的系统调用输出到filename.PID文件。
-r:打印每一个系统调用的相对时间。
-t:在输出中的每一行前加上时间信息。-tt时间确定到微秒级。还可以使用-ttt打印相对时间。
-v:输出所有系统调用。默认情况下,一些频繁调用的系统调用不会输出。
-s:指定每一行输出字符串的长度,默认是32。文件名一直全部输出。
-c:统计每种系统调用所执行的时间,调用次数,出错次数。
-e expr:输出过滤器,通过表达式,可以过滤出掉你不想要输出。
-d:输出strace关于标准错误的调试信息。
-h:输出简要的帮助信息。
-i:输出系统调用的入口指针。
-q:禁止输出关于脱离的消息。
-tt:在输出中的每一行前加上时间信息,微秒级。
-T:显示每一调用所耗的时间。
-V :输出strace的版本信息。
-x:以十六进制形式输出非标准字符串。
-xx:所有字符串以十六进制形式输出。
strace -c -f -p 进程号
5. lsof 命令
lsof命令的原始功能是列出打开的文件的进程,但LINUX下,所有的设备都是以文件的行式存在的,所以,lsof的功能很强大。
查看以root用户打开的/var下的文件
查看打开文件数:
使用ulimit -n 65535 设置打开文件数