有关/ proc / pid / sched的信息


8

不确定这是该问题的正确位置,但是这里有:

我正在尝试对高度线程化的服务器进程的/ proc / pid / sched和/ proc / pid / task / tid / sched文件进行某种意义上的理解,但是我找不到如何解释此问题的很好的解释。文件(此处仅几处:http : //knol.google.com/k/linux-performance-tuning-and-measurement#)。我假设procfs中的此项与使用CFS调度程序运行的较新版本的内核有关?

在具有抢先rt补丁的2.6.24.7-149.el5rt内核版本上运行的CentOS发行版。

有什么想法吗?

Answers:



-3

可能是“ man proc”是阅读的地方!从手册中:

/ proc / [pid] /任务
(从Linux 2.6.0-test6开始)此目录包含进程中每个线程的一个子目录。每个子目录的名称是线程的数字线程ID([tid])(请参阅gettid(2))。在每个子目录中,都有一组文件,其名称和内容与/ proc / [pid]目录下的文件相同。对于所有线程共享的属性,任务/ [tid]子目录下每个文件的内容将与父/ proc / [pid]目录中相应文件中的内容相同(例如,在多线程进程中) ,所有task / [tid] / cwd文件将具有与父目录中的/ proc / [pid] / cwd文件相同的值,因为进程中的所有线程共享一个工作目录)。对于每个线程不同的属性,任务/ [tid]下的相应文件可以具有不同的值(例如,每个线程的任务/ [tid] /状态文件中的各个字段可能不同)。

在多线程进程中,如果主线程已经终止(通常通过调用pthread_exit(3)),则/ proc / [pid] / task目录的内容不可用。

因此,基本上了解/ proc / pid / task /意味着了解proc本身。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.