linux系统为用户提供的文件接口

linux系统为用户提供了大量的文件接口来改变操作系统的参数,由于接口文件繁多,实际用到的时候往往记不住文件所在的路径和文件名,此文仅用于个人备忘和查找。

通常我们也可以使用sysctl命令查看,修改响应的内核参数。

sysctl -a 可查看系统全部的内核参数,和他们的值。

附上内核参数列表:http://blog.sina.com.cn/s/blog_a44094ea0102xbff.html


1、proc/sys/kernel/pid_max        linux最大进程id个数,这个文件相关的比较著名的是fork炸弹 :(){:|:&};: ,有兴趣朋友自行百度


这个目录下还有:


sched_child_runs_first:设置在fork后,优先让子进程运行。


sched_rr_timeslice_ms:设置在RR实时调度策略情况下,时间片轮转的单位时间。


sched_rt_period_us:设置实时进程的周期时间,这个时间通常是1秒


sched_rt_runtime_us:设置实时进程一个周期时间内的最大可运行时间,这个时间默认是0.95秒


shm_rmid_forced:强制SHM空间和一个进程联系在一起,所以可以通过杀死进程来释放内存0:不设置 1:设置


shmall:系统最大可分配的共享内存大小


shmmax:一个进程最大可分配的共享内存的大小


shmmni:一个进程最小可分配的共享内存的大小,就是说你无法分配小于4K的共享内存,C语言开辟小于4k共享内存不会报错,但是系统会直接分配4K的空间


threads-max:最大线程数



2、/proc/buddyinfo             基于buddy算法的连续内存页个数,以2的n次方为单位


这个目录下还有:


devices:当前加载的所有设备


interrupts:系统的中断描述


iomem:系统的io内存分配情况


irq:这个目录下以中断号为索引有各个中断的目录,可以设置中断更倾向于在那个cpu执行,同时该目录下的default_smp_affinity文件可设置全部中断更倾向于在那个cpu执行


kallsyms:系统驱动所有导出的外部符号


loadavg:系统当前的负载,$ cat /proc/loadavg

0.01 0.02 0.05 2/317 26207 
前面三个值分别对应系统当前1分钟、5分钟、15分钟内的平均load。load用于反映当前系统的负载情况,对于16核的系统,如果每个核上cpu利用率为30%,则在不存在uninterruptible进程的情况下,系统load应该维持在4.8左右。对16核系统,如果load维持在16左右,在不存在uninterrptible进程的情况下,意味着系统CPU几乎不存在空闲状态,利用率接近于100%。结合iowait、vmstat和loadavg可以分析出系统当前的整体负载,各部分负载分布情况。


meminfo:可查看当前系统的内存情况


modules:当前系统加载的驱动模块


mounts:当前系统上已经挂载的文件系统情况


partitions:系统的分区情况


swaps:系统的交换分区情况


sysrq-trigger:向该文件写入字符,则会触发系统panic,崩溃,可用于内核调试,附上一个说明连接地址:http://blog.csdn.net/beckdon/article/details/41313713


sysvipc/:该目录三个文件,分别对应IPC的三种方式,共享内存,消息队列,信号量


vmallocinfo:vmalloc映射区对应的映射关系,其中标记ioremap的是设备寄存器


另外这个目录下还有很多以数字命名的目录,他们分别对应不同的进程,可以在不同目录下对各个进程的属性进行设置或者查看。


3、/proc/sys/fs/file_max         单个进程所能打开最大的文件描述符个数,select函数就受此限制。


4、/proc/sys/vm/drop_caches           向该文件写入数字可回收相关的cache,这个cache并不是cpu的高速缓存,而是在内存上的,作为磁盘或者flash的缓存。

echo 1 > /proc/sys/vm/drop_caches   //清空 pagecache

echo 2 > /proc/sys/vm/drop_caches   //清空 dentries 和 inodes

echo 3 > /proc/sys/vm/drop_caches   //清空所有缓存(pagecache、dentries 和 inodes)

同时,该目录下还有:

swappiness:Swappiness越大,越倾向于回收匿名页;swappiness越小,越倾向于回收file-backed的页面。


5、/proc/pid/oom_adj&score&score_adj         进程的OOM分数,这个值越高,表示消耗内存越多,在OOM时越容易被干掉。

这个目录下还有:

smaps:详细的列出了进程的所有VMA区域信息。

目前用到的只有这些,还有很多没用过的后续会持续补充.....




猜你喜欢

转载自blog.csdn.net/woyimibayi/article/details/79194191
今日推荐