您的位置:首页 > 运维架构 > Linux

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

2018-01-29 13:22 239 查看
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区域信息。

目前用到的只有这些,还有很多没用过的后续会持续补充.....
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐