【问题标题】:how to have linux kernel export /proc/[pid]/io?如何让linux内核导出/proc/[pid]/io?
【发布时间】:2016-06-17 04:24:19
【问题描述】:

我在我的板上运行 linux,并且必须读取 /proc/[pid]/io 中的信息。但是没有找到。

例如:

$ dd if=/dev/zero of=/tmp/aa &
[1] 926
$ cat /proc/926/io
cat: /proc/926/io: No such file or directory

我需要启用哪个才能导出内核?

非常感谢您的帮助!

【问题讨论】:

  • /proc 存在吗? /proc/926 存在吗?
  • 是的,它们确实存在。
  • 什么内核版本? (uname -a)
  • 我的内核版本是:Linux 4.1.17
  • This 建议查看kernel config。 (根据 proc 手册页,您的内核对于 /proc/pid/io 来说已经足够新了)

标签: linux proc


【解决方案1】:

我刚刚发现还有一件事是必要的。

我刚刚重新编译了一个 4.4 内核(用于嵌入式系统)并启用 CONFIG_TASKSTATS 是不够的。我必须启用

CONFIG_TASKSTATS=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y

为了让/proc/<pid>/io 出现。

【讨论】:

    【解决方案2】:

    根据this,您需要在内核中启用CONFIG_TASKSTATS

    您可以在 various ways 中检查当前内核的配置,具体取决于发行版,但查看 /boot/config-$(uname -r) 可以在 Redhat 风格中使用。

    如果您没有配置该选项,则需要重新编译内核,或调查您的发行版未启用它的原因。

    【讨论】:

    • 嗯。还有什么需要的吗?我刚刚重新编译了一个 4.4 内核(用于嵌入式系统),我有 # zcat /proc/config.gz |grep TASKSTATS CONFIG_TASKSTATS=y 但我仍然没有任何 /proc//io。 (我还有很多其他的东西,比如/proc<pid>/stat,但没有io。)
    猜你喜欢
    • 1970-01-01
    • 2016-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-24
    • 2014-03-15
    • 2010-09-23
    • 2010-12-19
    相关资源
    最近更新 更多