详解Linux中的虚拟文件系统
除了 procfs 为用户空间提供了内核及其控制的进程的瞬时状态的快照。在 /proc/meminfo 是一个空文件,但仍包含有价值的信息。
当没有进程访问它们时,/proc 中的文件为空。(来源) procfs 的空文件是有道理的,因为那里可用的信息是动态的。sysfs 的情况则不同。让我们比较一下 procfs 只有一个不为空的文件,即导出的内核配置,这是一个例外,因为每次启动只需要生成一次。另一方面, sysfs 的目的是将内核称为 “kobject” 的可读写属性公开给用户空间。kobject 的唯一目的是引用计数:当删除对 kobject 的最后一个引用时,系统将回收与之关联的资源。然而, 内核的稳定 ABI 限制了 sysfs 中的文件确切地描述了实体的每个属性,并且可以是可读的、可写的,或两者兼而有之。文件中的“0”表示 SSD 不可移动的存储设备。 用 eBPF 和 bcc 工具一窥 VFS 内部了解内核如何管理 sysfs 文件的最简单方法是观察它的运行情况,在 ARM64 或 x86_64 上观看的最简单方法是使用 eBPF。eBPF(扩展的伯克利数据包过滤器)由在内核中运行的虚拟机组成,特权用户可以从命令行进行查询。内核源代码告诉读者内核可以做什么;而在一个启动的系统上运行 eBPF 工具会显示内核实际上做了什么。 令人高兴的是,通过 bcc 工具入门使用 eBPF 非常容易,这些工具在主要 Linux 发行版的软件包 中都有,并且已经由 Brendan Gregg 给出了充分的文档说明。bcc 工具是带有小段嵌入式 C 语言片段的 Python 脚本,这意味着任何对这两种语言熟悉的人都可以轻松修改它们。据当前统计,bcc/tools 中有 80 个 Python 脚本,使得系统管理员或开发人员很有可能能够找到与她/他的需求相关的已有脚本。 要了解 VFS 在正在运行中的系统上的工作情况,请尝试使用简单的 vfscount 或 vfsstat 脚本,这可以看到每秒都会发生数十次对 vfsstat.py 是一个带有嵌入式 C 片段的 Python 脚本,它只是计数 VFS 函数调用。 (编辑:源码网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Linux中存在严重漏洞 可导致使用Wi-Fi的附近设备崩溃
- Windows – 如何阻止Microsoft DNS报告版本号?
- 微软 Windows 11 全新现代任务管理器更多曝光功能感受
- 几个操作教你win10管理开机启动项
- 关于加密解密 Base64 and URL and Hex Encoding and Decodi
- Windows 10系统,0xc00000e9黑屏代码如何修复?
- Kafka源码分析及图解原理之Broker端
- 这样用Windows 10,告别弹窗,广告,轻松生活工作哦
- Windows 2003 Active Diretory全攻略(三)--成立域(5)
- linux服务器的管理运维最简方式