美文网首页
/proc 和 /sys目录的作用

/proc 和 /sys目录的作用

作者: oasis_m | 来源:发表于2020-01-26 14:29 被阅读0次

    声明:所有文章只作为学习笔记用,转载非原创
    https://blog.csdn.net/z1026544682/article/details/98092139
    https://blog.csdn.net/ygm_linux/article/details/24532809
    dev proc 目录解释
    https://blog.csdn.net/zz709196484/article/details/77512002

    drop_cache https://blog.csdn.net/weixin_35815578/article/details/64444259

    /proc的意义及说明
    在Linux中查看各种状态,其实质是查看内核中相关进程的数据结构中的项,通过工具将其格式化后输出出来。但是内核的数据是绝对不能随意查看或更改的,至少不能直接去修改。所以,在linux上出现了伪文件系统/proc,它是内核中各属性或状态向外提供访问和修改的接口。
    /proc 正在运行的内核信息映射

    主要输出: 进程信息 内存资源信息 磁盘分区信息等等

    /sys 硬件设备的驱动程序信息

    1.2 系统在什么情况下才会使用SWAP?

    实际上,并不是等所有的物理内存都消耗完毕之后,才去使用swap的空间,什么时候使用是由swappiness 参数值控制。

    [root@rhce ~]# cat /proc/sys/vm/swappiness

    60

    该值默认值是60.

    swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,

    swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。

    如何修改swappiness参数?

    --临时性修改:

    [root@rhce ~]# sysctl vm.swappiness=10

    vm.swappiness = 10

    [root@rhce ~]# cat /proc/sys/vm/swappiness

    10

    这里我们的修改已经生效,但是如果我们重启了系统,又会变成60.

    --永久修改:

    在/etc/sysctl.conf 文件里添加如下参数:

    vm.swappiness=10

    或者:

    [root@rhce ~]# echo 'vm.swappiness=10' >>/etc/sysctl.conf

    sysctl.conf 配置 https://www.jianshu.com/p/87ec508be2c5
    swapoff -a && swapon -a 然后执行 sysctl -p 命令,使上述修改生效。

    查看哪些进程使用了swap
    https://blog.csdn.net/xiangliangyu/article/details/8213127

    /proc/cmdline 启动时传递给kernel的参数信息(就是bootargs信息)
    /proc/cpuinfo cpu的信息
    /proc/crypto 内核使用的所有已安装的加密密码及细节
    /proc/devices 已经加载的设备并分类
    /proc/dma 已注册使用的ISA DMA频道列表
    /proc/execdomains Linux 内核当前支持的execution domains
    /proc/fb 帧缓冲设备列表,包括数量和控制它的驱动
    /proc/filesystems 内核当前支持的文件系统类型
    /proc/interrupts x86架构中的每个IRQ中断数
    /proc/iomem 每个物理设备当前在系统内存中的映射
    /proc/ioports 一个设备的输入输出所使用的注册端口范围
    /proc/kcore 代表系统的物理内存,存储为核心文件格式,里边显示的是字节数,等于RAM大小加上4kb
    /proc/kmsg 记录内核生成的信息,可以通过/sbin/klogd或/bin/dmesg来处理
    /proc/loadavg 根据过去一段时间内CPU和IO的状态得出的负载状态,与uptime命令有关
    /proc/locks 内核锁住的文件列表
    /proc/mdstat 多硬盘,RAID配置信息(md=multiple disks)
    /proc/meminfo RAM使用的相关信息
    /proc/misc 其他的主要设备(设备号为10)上注册的驱动
    /proc/modules 所有加载到内核的模块列表
    /proc/mounts 系统中使用的所有挂载
    /proc/partitions 分区中的块分配信息
    /proc/pci 系统中的PCI设备列表
    /proc/slabinfo 系统中所有活动的 slab 缓存信息
    /proc/stat 所有的CPU活动信息
    /proc/uptime 系统已经运行了多久
    /proc/swaps 交换空间的使用情况
    /proc/version Linux内核版本和gcc版本
    /proc/bus 系统总线(Bus)信息,例如pci/usb等
    /proc/driver 驱动信息
    /proc/fs 文件系统信息
    /proc/ide ide设备信息
    /proc/irq 中断请求设备信息
    /proc/net 网卡设备信息
    /proc/scsi scsi设备信息
    /proc/tty tty设备信息
    /proc/net/dev 显示网络适配器及统计信息
    /proc/vmstat 虚拟内存统计信息
    /proc/vmcore 内核panic时的内存映像
    /proc/diskstats 取得磁盘信息
    /proc/schedstat kernel调度器的统计信息
    /proc/zoneinfo 显示内存空间的统计信息,对分析虚拟内存行为很有用
    以下是/proc目录中进程N的信息
    /proc/N/cmdline 进程启动命令
    /proc/N/cwd 链接到进程当前工作目录
    /proc/N/environ 进程环境变量列表
    /proc/N/exe 链接到进程的执行命令文件
    /proc/N/fd 包含进程相关的所有的文件描述符 (ls /proc/<PID>/fd | wc -l 查看某个进程打开多少FD)
    /proc/N/maps 与进程相关的内存映射信息
    /proc/N/mem 指代进程持有的内存,不可读
    /proc/N/root 链接到进程的根目录
    /proc/N/stat 进程的状态
    /proc/N/statm 进程使用的内存的状态
    /proc/N/status 进程状态信息,比stat/statm更具可读性
    /proc/self 链接到当前正在运行的进程

    相关文章

      网友评论

          本文标题:/proc 和 /sys目录的作用

          本文链接:https://www.haomeiwen.com/subject/bwpjthtx.html