是否可以在不解析文本数据的情况下通过二进制结构读取/ proc / [pid] / files的内容?
答案 0 :(得分:1)
没有。你不想要这个。
首先,内核中的内部结构一直在变化。 (例如,进程在运行LXC时可以有多个PID,有些东西在不同的内核上从32位变为64位等)你可能不希望程序随机中断。那是为什么他们将数据转储为更友好的格式。
其次,如果您正在寻找性能,与上下文切换到内核的开销相比,转换为/从文本转换的时间可能很小。 Sar
和atop
之类的东西使用现有界面管理得很好,没有人抱怨它们很慢。
如果你真的需要速度(为什么?),那么编写你自己的模块以你自己的二进制格式转储数据,或者只是点击现有的tracing mechanisims。