赞
踩
命令 | 功能应用 | 用法举例 | ||
---|---|---|---|---|
free | 查看内存使用情况,包括物理内存和虚拟内存 | free -h或free -m | ||
vmstat | 对系统的整体情况进行统计,包括内核进程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息 | vmstat 2 100 | ||
top | 实时显示系统中各个进程的资源占用状况及总体状况 | top | ||
mpstat | 实时系统监控工具,它会报告与CPU相关的统计信息 | mpstat | ||
sar | 收集、报告和保存CPU、内存、输入输出端口使用情况 | sar -n DEV 3 100 | ||
netstat | 检验本机各端口的网络连接情况,用于显示与IP、TCP、UDP和ICMP协议相关的统计数据 | netstat -a | ||
tcpdump | 用于捕捉或者过滤网络上指定接口上接收或者传输的TCP/IP包 | tcpdump -i eth0 -c 3 | ||
IPTraf | 用来生成包括TCP信息、UDP计数、ICMP和OSPF信息、以太网负载信息、节点状态信息、IP校验和错误等等统计数据 | iptraf | ||
df | 检查linux的文件系统的磁盘空间占用情况 | df -h | ||
iostat | 收集显示系统存储设备输入和输出状态统计 | iostat -x -k 2 100 | ||
iotop | 用来监视磁盘I/O使用状况的top类工具 | iotop | ||
lsof | 用于以列表的形式显示所有打开的文件和进程 | lsof | ||
atop | 显示的是各种系统资源(CPU, memory, network, I/O, kernel)的综合,并且在高负载的情况下进行了彩色标注 | atop | ||
htop | 它和top命令十分相似,高级的交互式的实时linux进程监控工具 | htop | ||
ps | 最基本同时也是非常强大的进程查看命令 | ps aux | ||
glances | 监视 CPU,平均负载,内存,网络流量,磁盘 I/O,其他处理器 和 文件系统 空间的利用情况 | glances | ||
dstat | 全能系统信息统计工具,可用于替换vmstat、iostat、netstat、nfsstat和ifstat这些命令的工具 | dstat | ||
uptime | 用于查看服务器运行了多长时间以及有多少个用户登录,快速获知服务器的负荷情况 | uptime | ||
dmesg | 主要用来显示内核信息。使用dmesg可以有效诊断机器硬件故障或者添加硬件出现的问题。 | dmesg | ||
mpstat | 用于报告多路CPU主机的每颗CPU活动情况,以及整个主机的CPU情况。 | mpstat 2 3 | ||
mpstat 2 3 | 监控CPU、内存、I/O、文件系统及网络资源。对于内存的使用,它可以实时的显示 总/剩余内存、交换空间等信息。 | nmon | ||
mytop | 用于监控 mysql 的线程和性能。它能让你实时查看数据库以及正在处理哪些查询。 | mytop | ||
iftop | 用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等 | iftop | ||
jnettop | 以相同的方式来监测网络流量但比 iftop 更形象。它还支持自定义的文本输出,并能以友好的交互方式来深度分析日志。 | jnettop | ||
ngrep | 网络层的 grep。它使用 pcap ,允许通过指定扩展正则表达式或十六进制表达式来匹配数据包。 | ngrep | ||
nmap | 可以扫描你服务器开放的端口并且可以检测正在使用哪个操作系统 | nmap | ||
du | 查看Linux系统中某目录的大小 | du -sh 目录名 | ||
fdisk | 查看硬盘及分区信息 | fdisk -l |
free可以用来快速查看VPS主机的内存使用情况,包括了物理内存和虚拟内存。后面可以加上参数:-h和-m,否则默认会以kb为单位显示。运行命令结果如下:
相关参数说明:
vmstat(Virtual Meomory Statistics,虚拟内存统计)是对系统的整体情况进行统计,包括内核进程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。命令格式:vmstat 2 100,其中2表示刷新间隔,100表示输出次数。运行命令结果如下:
相关参数说明:
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况及总体状况。运行结果如下:
相关的参数说明:
mpstat(Multiprocessor Statistics,多处理器统计)是实时系统监控工具,它会报告与CPU相关的统计信息,这些信息存放在/proc/stat文件中。格式:mpstat -P ALL 2 # ALL表示显示所有CPUs,也可以指定某个CPU;2表示刷新间隔。
命令效果如下:
SAR是一个在Unix和Linux操作系统中用来收集、报告和保存CPU、内存、输入输出端口使用情况的命令。SAR命令可以动态产生报告,也可以把报告保存在日志文件中。命令格式:sar -n DEV 3 100。效果如下:
相关参数说明如下:
netstat命令一般用于检验本机各端口的网络连接情况,用于显示与IP、TCP、UDP和ICMP协议相关的统计数据。
选取部分选项说明如下:
常用的几种:
netstat在防御攻击时非常有用。以wzfou.com平常用到的示例如下:
上面命令可以查找出当前服务器有多少个活动的 SYNC_REC 连接。正常来说这个值很小,最好小于5。 当有Dos攻击或者邮件炸弹的时候,这个值相当的高。另外这个值和系统有很大关系,有的服务器值就很高,也是正常现象。
上面命令可以列出所有连接过的IP地址。
上面命令可以列出所有发送SYN_REC连接节点的IP地址。
上面命令可以使用netstat命令计算每个主机连接到本机的连接数。
上面命令可以列出所有连接到本机的UDP或者TCP连接的IP数量。
上面命令可以检查 ESTABLISHED 连接并且列出每个IP地址的连接数量。
上面命令可以列出所有连接到本机80端口的IP地址和其连接数。80端口一般是用来处理HTTP网页请求。
防御CC攻击还可以用以下方法检测:
Tcpdump是最广泛使用的网络包分析器或者包监控程序之一,它用于捕捉或者过滤网络上指定接口上接收或者传输的TCP/IP包。格式:tcpdump -i eth0 -c 3
该命令不是系统自带的,可能需要自己搬运安装。命令执行效果如下:
iptraf是一个基于ncurses的IP局域网监控器,用来生成包括TCP信息、UDP计数、ICMP和OSPF信息、以太网负载信息、节点状态信息、IP校验和错误等等统计数据。简单的和详细的接口统计数据,包括IP、TCP、UDP、ICMP、非IP以及其他的IP包计数、IP校验和错误,接口活动、包大小计数。
命令格式:iptraf。接着就会显示几个监控菜单,效果如下:
df命令的功能是用来检查linux的文件系统的磁盘空间占用情况。如果没有文件名被指定,则显示当前所有被挂载的文件系统,默认以 KB 为单位。常用格式:$ df -h。效果如下:
相关参数说明如下:
iostat是一个用于收集显示系统存储设备输入和输出状态统计的简单工具。这个工具常常用来追踪存储设备的性能问题,其中存储设备包括设备、本地磁盘,以及诸如使用NFS等的远端磁盘。常用格式:
效果如下图:
iostat主要是用来监控磁盘I/O,首先输出了CPUs的平均数据(avg-cpu),我们可以看%iowait这一项,除此之外iostat还提供了一些更详细的I/O状态数据,比如:
iotop命令是一个用来监视磁盘I/O使用状况的top类工具。iotop具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况,如果你想知道每个进程是如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看。
iotop的常用参数如下:
执行效果如下:
列出打开的文件:lsof。它常用于以列表的形式显示所有打开的文件和进程。打开的文件包括磁盘文件、网络套接字、管道、设备和进程。使用这条命令的主要情形之一就是在无法挂载磁盘和显示正在使用或者打开某个文件的错误信息的时候。使用这条命令,你可以很容易地看到正在使用哪个文件。
atop命令是一个终端环境的监控命令。它显示的是各种系统资源(CPU, memory, network, I/O, kernel)的综合,并且在高负载的情况下进行了彩色标注。atop可以看成是top的加强版,如果执行atop命令显示不存在你需要yum或者apt-get 来安装它。效果如下:
相关的参数说明:
htop 是一个非常高级的交互式的实时linux进程监控工具。 它和top命令十分相似,但是它具有更丰富的特性,例如用户可以友好地管理进程,快捷键,垂直和水平方式显示进程等等。
命令效果如下(点击放大):
ps(Process Status,进程状态)命令是最基本同时也是非常强大的进程查看命令,最常用的命令就是ps aux——显示当前所有进程
ps命令的输出可以按任意某一列进行排序,通过使用内部排序键(列的别名),例如:
上面分享的都是单个查看Linux系统磁盘、CPU、内存等指标的工具,如果我们想要迅速找出来VPS主机的性能瓶颈所在,我们可以采用以下几个“全能”工具:
Glances 是一个用来监视 GNU/Linux 和 FreeBSD 操作系统的 GPL 授权的免费软件,通过 Glances,我们可以监视 CPU,平均负载,内存,网络流量,磁盘 I/O,其他处理器 和 文件系统 空间的利用情况。wzfou.com就是用这个来监控的。语法:glances
Glances 会用一下几种颜色来代表状态:绿色:OK(一切正常) 蓝色:CAREFUL(需要注意) 紫色:WARNING(警告) 红色:CRITICAL(严重)。阀值可以在配置文件中设置,一般阀值被默认设置为(careful=50、warning=70、critical=90)。效果如下:(点击放大)
Glances 还提供了更多的可在其运行时开关输出信息选项的快捷键,例如:
dstat命令是一个用来替换vmstat、iostat、netstat、nfsstat和ifstat这些命令的工具,是一个全能系统信息统计工具。与sysstat相比,dstat拥有一个彩色的界面,在手动观察性能状况时,数据比较显眼容易观察;而且dstat支持即时刷新,譬如输入dstat 3即每三秒收集一次,但最新的数据都会每秒刷新显示。
直接使用dstat,默认使用的是-cdngy参数,分别显示cpu、disk、net、page、system信息,默认是1s显示一条信息。可以在最后指定显示一条信息的时间间隔,如dstat 5是没5s显示一条,dstat 5 10表示没5s显示一条,一共显示10条。如下:
默认输出显示的信息说明:
对于上面的命令,有些是Linux系统自带的,你可以直接执行。有些是第三方命令,不过绝大多数可以直接通过Yum install xxx或者apt-get intall xxx来安装。这些命令虽然小巧,但是在我们的服务器出现问题将会显得特别有用。
排查服务器问题,我们一般需要结合多项指标来进行综合分析研判。例如如果你怀疑VPS主机的IO读写有问题,你可以通过iotop来查看读写实时速度,同时用top命令查看哪些进程来占用CPU和内存,这样结合多项数据就会得到正确的结果。
from:https://www.freehao123.com/linux-cpu-io-xingnengpingjing/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。