发布时间:2014-09-05 17:00:55作者:知识屋
===================
- PROC文件系统介绍
===================
; 显示内存信息,对对应命令: vmstat/free
$ cat /proc/meminfo
$ cat /proc/vmstat
$ cat /proc/vmmemctl
; 显示设备相关信息
$ cat /proc/devices
; 显示磁盘相关信息,第二条命令显示了分区名称,主要设备号与次要设备号,对应命令: fdisk -l
$ cat /proc/diskstats
$ cat /proc/partitions
; 显示启动时间
$ cat /proc/uptime
$ cat /proc/version
; 显示系统中断以及相关信息,用于查看设备所请求的IRQ中断,其中'I8042'为键盘
; 第二个命令显示系统IO所占用的地址范围
; 第三个命令查看系统设备读写的地址空间,编程会用得着
$ cat /proc/interrupts
$ cat /proc/ioports
$ cat /proc/iomem
; 查看CPU信息,查看CPU对指令集的支持
$ cat /proc/cpuinfo | awk '/flags/'
$ cat /proc/cpuinfo | awk '/vendor/'
$ cat /proc/cpuinfo | awk '/MHz/'
; 查看内核所编译的文件系统,即,查看内核所支持的文件系统
$ cat /proc/filesystems
; 查看系统装载的模块,对应命令: lsmod
$ cat /proc/modules
; 查看系统平均负载
$ cat /proc/loadavg
; 查看系统启动命令行,传送到内核的命令行参数
$ cat /proc/cmdline
; 系统调用列表
$ cat /proc/kallsyms
+ 网络
; 显示系统ARP表,"HWADDR"全0表示IP地址未被占用
$ cat /proc/net/arp
; 显示SNMP相关信息,上面一行表示各个字段,下面一行表示值,以下同
$ cat /proc/net/snmp
; 显示接口总流量
$ cat /proc/net/dev
; 显示路由表,注意,这里显示的不是点分10进制,而10完全16进制
$ cat /proc/net/route
; 显示无线相关信息,包含接收到的AP,信号质量等
$ cat /proc/net/wireless
+ 进程<CPU/IO/Fd>
; 基准目录<vw>: /proc/#Pid/
; 查看内存映射表,包括其对动态链接库的引用,堆栈的位置,可以用于故障排除
$ cat $vw/maps
$ cat $vw/smaps
; 查看进程运作状况,如SLEEP参数表明了进程的繁忙程度
$ cat $vw/status
; 查看进程的IO情况,也可以通过此查看进程是否为IO密集型进程
$ cat $vw/io
; 查看进程打开的文件,对对应命令: lsof
$ ls $vw/fd
; 查看进程工作目录
$ ls -l $vw/cwd
; 查看进程可执行文件
$ ls -l $vw/exe
; 查看传入进程的环境变量
$ cat $vw/environ
; 查看传入进程的命令行
$ cat $vw/cmdline | tr "/000" "/n"
; 查看对进程的限制,如打开文件数,运行作业数等
$ cat $vw/limits
; 查看进程锁定的元素
$ cat $vw/locks
+ 设备
; 查看光驱相关信息,注意DRIVENAME,进行挂载时用得着
$ cat /proc/sys/dev/cdrom/info
+ 总线
; 查看PCI总线,对应命令: lspci/setpci
$ cat /proc/bus/pci/devices
; 查看USB总线,对应命令: lsusb
$ cat /proc/bus/usb/devices
; 查看键盘,鼠标,扬声器
$ cat /proc/bus/input/devices
$ cat /proc/bus/input/handler
; 查看SCSI总线
$ cat /proc/scsi/scsi
; 查看SCSI设备
$ cat /proc/scsi/device_info
=====================
* SYS 文件系统
=====================
; 查看网卡原始MAC
$ cat /sys/class/net/ethX/address
; 查看网卡统计数据
$ cat /sys/class/net/ethX/statistics/*
; 查看接口状态
$ cat /sys/class/net/ethX/operstate
举个小例子
这段代码统计在10秒内ETH0接口接收的网络流量,单位是BPS
#!/bin/bash
cd /sys/class/net/eth0/statistics
startRX=`cat rx_bytes`
sleep 10
endRX=`cat rx_bytes`
bytesTotal=`expr $endRX - $startRX`
bps=`expr $bytesTotal '/' 10`
echo "The average traffic is RX: ${bps}Bytes/sec"
后记:从上文可以看到,LINUX性能数据收集工具均是从/PROC文件系统读取性能数据,另外,既然已经知道系统性能数据来源,在系统中没有安装这些工具的情况下,我们也可以自行编写脚本进行数据采集了,另外,在对PROC文件系统不了解的情况下,不可对PROC文件系统中的任何文件进行写操作,特别是线上的系统,否则本人概不负责
作者 “NOTHING IS SERIOUS!”
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能