Linux操作系统下主要监控工具介绍
top
top命令可实时地显示Linux系统的进程、CPU、内存、负载等的信息。它是我们了解系统整体状态最好的工具。
top命令的运行状态是一个实时的显示过程,我们可在这个界面监控系统运行情况。我们可通过几个按键来控制top命令,如按q可退出top命令状态,按s可输入信息的更新频率等。这些命令可按h帮助键查询。
Ps
ps命令可查询系统的进程状态,常用的命令参数是ps -aux,该命令可显示所有用户的进程,如果进程的命令太长,则显示的进程信息会不全。我们可用ps -auxw命令来加长显示,w参数可多加几个,最多可加三个,以显示更长的进程信息。
Kill
kill命令可终止进程,后接进程号即可。
Free
free可显示系统的内存使用情况。-b、-k、-m三个参数表示以bytes,kilobytes和megabytes为单位显示内存的使用情况。
Vmstat
使用vmstat 2 命令可每隔2秒显示一行系统信息,这些信息包括CPU占用效、内存使用情况和磁盘IO等。通过它我们可实时监控系统的资源使用情况,进行系统优化。
sar
sar工具可帮我们收集动态的系统信息,它的参数很丰富,功能强大。sar工具的特点是可通过计数器和计数间隔来定期、定量地输出系统状态信息。
watch
watch命令可重复执行某个命令,监控命令的执行状态。下面这个命令可让我们监控Z2.log文件的大小变化。
debian:~# watch -n 3 du /home/Jims/zope/log/Z2.log
-n 3表示每隔3秒执行一次du /home/Jims/zope/log/Z2.log。
Sysctl
使用sysctl -a可显示所有运行中的内核参数,用sysctl -w fs.file-max=10240 命令可修改fs.file-max内核参数的值,并使参数马上生效。但重启系统后,参数设置会失效,因为命令行只能修改运行中的内核参数。如果我们要把参数设置固定下来,可把内核参数写入/etc/sysctl.conf文件。该文件的格式如下:
# /etc/sysctl.conf - Configuration file for setting system variables
# See sysctl.conf (5) for information.
# Controls IP packet forwarding
net.ipv4.ip_forward = 0
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
Ulimit
使用ulimit -a可显示系统的资源限制情况。
Netstat
netstat -nal可显示所有的网络连接。
Pppstat
使用pppstats可得到ppp连接的状态信息。