Linux 内核

本文介绍了Linux内核中两种无持久存储的文件系统——procfs和sysfs。procfs,全称进程数据文件系统,挂载在/proc,用于实时获取内核信息和系统参数。sysfs则向用户空间导出内核对象,提供系统硬件拓扑的表示,挂载在/sys。
摘要由CSDN通过智能技术生成

Linux 内核 — 无持久存储的文件系统

可组织、提供或交换并不存储在块设备上的信息,这些信息可以由内核动态生成。



一、procfs

proc 文件系统,全称:进程数据文件系统(process data filesystem,procfs的全称) ,挂载在 /proc,一种虚拟文件系统,其信息不能从块设备读取。只有在读取文件内容时,才动态生成相应的信息。

用途

  • 实时获取内核各个子系统的信息
  • 系统运行时获取、修改内核参数(系统控制机制:sysctl)

主要内容

  1. 特定进程的数据
# 以进程号(pid) 10133 为例

# 查看进程数据目录
ls /proc/10133

# 查看程序执行命令行
cat /proc/10133/cmdline

# 查看程序的环境变量
cat /proc/10133/environ

# 查看进程使用的库、自身程序的二进制文件的内存映射
cat /proc/10133/maps

# 查看进程状态信息
cat /proc/10133/status
cat /proc/10133/stat
cat /proc/10133/statm

# 查看进程当前工作目录
ls -l /proc/10133/cwd

# 查看进程的二进制程序路径
ls -l /proc/10133/exe

# 查看进程运行时的根目录
ls -l /proc/10133/root
  1. 系统信息
# 查看与设备通信的内存地址和端口信息
cat /proc/iomem
cat /proc/ioports

# 查看内存使用情况
cat /proc/meminfo

# 内核代码调试符号表
cat /proc/kallsyms

# 查看当前中断情况
cat /proc/interrupts

# 查看平均系统负载
cat /proc/loadavg

# 查看系统已运行时间
cat /proc/uptime
  1. 网络信息
    /proc/net 子目录提供了内核的各种网络选项的有关数据。其中保存了各种协议和设备数据。
# 查看通过系统的网络接口传输的数据量的统计数据(包括环回接口)
# 该信息可用于检查网络的传输质量,因为其中也包括了传输不正确的数据包、被丢弃的数据包和冲突相关的数据
cat /proc/net/dev
  1. 系统控制参数
ls -l /proc/sys
ls -l /proc/sys/vm

二、sysfs

sysfs,一个向用户空间导出内核对象的文件系统,它不仅提供了察看内核内部数据结构的能力,还可以修改这些数据结构,内核对象的层次化组织直接反映到了sysfs的目录布局中。

由于系统的所有设备和总线都是通过 kobject 组织的,所以 sysfs 提供了系统的硬件拓扑的一种表示。sysfs的标准挂载点是 /sys。

参考:深入Linux内核架构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值