linux服酷务器运行状况全面监测上
Linux服务器运行状况全面监测(上)
随着Linux应用的日益广泛,有大量的网络服务器使用Linux操作系统。为了全面衡量网络运行状况,就需要对网络状态做更细致、更精确的测量。SNMP协议的制订为互联网测量提供了有力支持。计算机系统是
由软件系统硬件系统组成的,检测硬件状态对于保障整个系统的稳定是非常重要的。不论操作系统是使用Linux、还是Windows,一旦硬件出现故障,那么整个系统的安全就严重了。这里我们主要监测Linux服务器的CPU、硬盘、内存、网络接口、主板等硬件的工作状态。
一、/proc文件系统特点
Linux 系统向管理员提供了非常好的方法,使他们可以在系统运行时更改内核,而不需要重新引导内核系统。这是通过 /proc 虚拟文件系统实现的。/proc 文件虚拟系统是一种内核和内核模块用来向进程 (process) 发送信息的机制 (所以叫做 /proc)。这个伪文件系统让你可以和内核内部数据结构进行交互,获取 有关进程的有用信息,在运行中 (on the fly) 改变设置 (通过改变内核参数)。 与其他文件系统不同,/proc 存在于内存之中而不是硬盘上。不用重新启动而去看 CMOS ,就可以知道系统信息。这就是 /proc 的妙处之一。/proc 目录里主要文件内容,见表-1:
文件或目录名称
描述
apm
高级电源管理信息
cmdline ??
内核命令行
cpuinfo
关于中央处理器信息
devices
可以用到的设备(块设备/字符设备)
dma
显示当前使用的DMA通道
filesystems?
核心配置的文件系统
ioports?
当前使用的I/O端口
interrupts?
显示使用的中断
kcore?
系统物理内存映象
kmsg?
核心输出的消息,被送到syslog文件?
ksyms?
核心符号表
loadavg
系统平均负载均衡
meminfo?
存储器使用信息,包括物理内存和交换内存
modules?
当前加载了哪些核心模块。
net?
网络协议状态信息
partitions
系统识别的分区表
pci
pci设备信息
scsi
scsi设备信息
self
到查看/proc?的程序的进程目录的符号连接
stat
全面统计状态表
swaps
交换分区情况
uptime
系统启动的时间长度
version?
核心版本号
?
??? 每个Linux系统根据软硬件不同/proc 虚拟文件系统的内容也有些差异。/proc 虚拟文件系统有三个很重要的目录:net,scsi和sys。Sys目录是可写的,可以通过它来访问或修改内核的参数,而net和scsi则依赖于内核配置。例如,如果系统不支持scsi,则scsi目录不存在。除了以上介绍的这些,还有的是一些以数字命名的目录,它们是进程目录。net目录包括多个 ASCII 格式的网络伪文件, 描述了网络层的部分情况,可以用arp 、netstat、route等命令来查询这些文件。除了以上介绍的这些,还有的是一些以数字命名的目录,它们是进程目录。系统中当前运行的每一个进程都有对应的一个目录在/proc下,以进程的 PID号为目录名,它们是读取进程信息的接口。而self目录则是读取进程本身的信息接口,是一个link。Proc文件系统的名字就是由之而起。
二、proc文件系统主要实现的五大功能:
1. 进程信息:对于系统中的任何一个进程来说,在proc的子目录里都有一个同名的进程ID。你将可以找到以下的信息:cmdline, mem, root, stat, statm, 以及status。某些信息只有超级用户可见,例如进程根目录。到每一个单独的含有现有进程信息的进程有一些可用的专门链接。对于系统里的任何一个进程来说,都有一个单独的自链接指向进程信息。它的用处就是从进程中获取命令行信息。 2. 系统信息:如果你需要了解整个系统信息,你也可以从/proc/stat中获得。它包括:包括CPU占用、磁盘空间、内存页、内存对换、全部中断、接触开关以及上次系统自举时间。 3. CPU信息:利用/proc/cpuinfo文件,你可以获得中央处理器当前的准确信息。 4. 负载信息: /proc/loadavg文件包含了系统负载信息。 5. 系统内存信息:meminfo文件包含了系统内存的详细信息。它显示了物理内存的数量,可用交换空间的数量,空闲内存的数量等等。
1.? 监测服务器全面统计状态
要监测全面统计状态,使用命令,结果见图1:
# HYPERLINK "/corpCenter/249.html" \t "_blank" cat /proc/stat
??? 图1 系统全面统计状态
??? 以上数字依次代表:
上下文切换数量;中断总量;进页面总数;