proc
文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取
proc
文件时,
proc
文件系统是动态从系统内核读出所需信息并提交的。
下面简要介绍其下文件:
/proc/cpuinfo cpu
信息
/proc/partitions
系统识别的分区表
/proc/meminfo
内存信息
/proc/uptime
系统正常运行时间
/proc/devices
可以用到的设备(块设备
/
字符设备)
/proc/interrupts
中断进程
/proc/kmsg
内核信息
并不是所有这些目录在你的系统中都有,这取决于你的内核配置和装载的模块。另外,在
/proc
下还有三个很重要的目录:
net
,
scsi
和
sys
。
sys
目录是可写的,可以通过它来访问或修改内核的参数,而
net
和
scsi
则依赖于内核配置。例如,如果系统不支持
scsi
,则
scsi
目录不存在。
除了以上介绍的这些,还有的是一些以数字命名的目录,它们是进程。系统中当前运行的每一个进程都有对应的一个目录在
/proc
下,以进程的
PID
号为目录名,它们是读取进程信息的接口。而
self
目录则是读取进程本身的信息接口,是一个
link
。
proc
文件系统的名字就是由之而起。
/proc/sys
目录下存放着大多数的内核参数,并且设计成可以在系统运行的同时进行更改
,
不过重新启动机器后会失效,可以通过更改
/proc/sys
中内核参数对应的文件
/etc/sysctl.conf
的内核参数来永久更改。
在
/proc/sys/
下有几个重要目录:
/proc/sys/kernel/hostname
/proc/sys/net/ipv4/ip_forward
/proc/sys/vm/drop_caches
/proc/sys/vm/swappiness
要改变内核的参数,可以用
vi
编辑或
echo
参数重定向到文件。还有命令“
sysctl
”
,
其
作用在运行时配置内核参数
其中,
sysctl -a
显示所有的系统参数
sysctl -p
从指定的文件加载系统参数
sysctl -w
改动某个指定参数的值
与
/dev
目录相关的一些命令选项:
free
显示内存信息
-b
以
Byte
为单位显示内存使用情况
-k
以
KB
为单位显示内存使用情况
-m
以
MB
为单位显示内存使用情况
-o
不显示缓冲区调节列
-s
持续观察内存使用状况
-t
显示内存总和列
-V
显示版本信息
vmstat
对内存使用监视
swapon -s
显示交换分区信息
swapon -a
激活所有在
/etc/fstab
中有
sw
标记的分区
swapon -p
后面接数字,设定交换分区优先级
pmap
查看一个具体进程所用内存的分布情况
ps
主要用于监控后台进程的工作情况
-e
显示所有进程
-f
全格式
-h
不显示标题
-l
长格式
-w
宽输出
-a
显示终端上的所有进程
-r
只显示正在运行的
top
显示系统当前的进程和其他状况
-d
指定屏幕刷新的时间间隔
-i
不显示闲置或僵死进程
gnome-system-monitor
uname
-a
显示信息依次是:内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
-n
主机名称
-m cpu
名称
-r
内核版本号
-s
内核名称
-v
操作系统版本号
-p
处理器类型
-i
硬件平台类型
-o
操作系统名称
uptime
显示信息依次为:
现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的
1
分钟、
5
分钟和
15
分钟内的平均负载
-V
查询版本号
tload
显示系统负载情况
-d<
间隔秒数
>
设置
tload
检测系统负载的间隔时间,单位以秒计算
-s<
刻度大小
>
设置图表的垂直刻度大小,单位以列计算
-V
显示版本信息
mknod
创建设备文件