如何查看系统是否负载
w :查看系统整体负载的命令,主要关注load average的值,分别表示1分钟、5、15内系统的平均负载值,一般小于服务器的CPU数就OK;uptime也可以查看系统负载,得出的结果和w命令的第一行一致;
cat /proc/cpuinfo :即可查看CPU信息,几个processor即为几个CPU;
vmstat :主要查看哪里负载了,打印结果主要有进程相关的procs、内存memory、内存交换情况swap、磁盘使用情况io、采集间隔内发生的中断次数system、CPU的使用状态CPU六个信息,主要关注运行和等待cpu时间片的进程数r、等待资源的进程数b、由交换区写入到内存的数据量si、由内存写入到交换区的数据量so、以及从块设备读取数据的量bi、从块设备写入数据的量bo、表示I/O等待所占用cpu时间的百分比wa;
top:动态监控进程所占用资源,把占用系统资源最高的放在前边,可以查看内存、CPU的百分比;
sar:可以监控系统所有资源状态,sar -n DEV查网卡流量历史、sar -q 查看历史负载,最有用的就是查网卡流量,流量过大:rxpck/s大于4000,或者rxKB/s大于5000,则很有可能被攻击了,需要抓包分析;
free:查看当前系统的总内存大小以及使用内存的情况;
ps:查看进程,ps aux 或者 ps -elf,常和管道符一起使用,查看某个进程或者它的数量;
netstat:查看端口,netstat -lnp用于打印当前系统启动了哪些端口,netstat -an用于打印网络连接状况;
tcpdump:抓包工具分析数据包,知道有哪些IP在攻击;可以将内容写入指定文件1.cap中,显示包的内容,不加-w屏幕上显示数据流向;
wireshark:抓包工具,可以临时用该命令查看当前服务器上的web请求