1

基本上我想要所有已经休眠超过一个小时的进程。

我知道ps中有etime,但遗憾的是它显示了整个生命周期。

这在linux下怎么做(最好用ps)?

4

1 回答 1

4

/proc/pid/sched文件包含一吨调度数据:

$ cat sched
bash (2192, #threads: 1)
---------------------------------------------------------
se.exec_start                      :     294360163.632873
se.vruntime                        :         17694.720927
se.sum_exec_runtime                :          2643.766318
se.statistics.wait_start           :             0.000000
se.statistics.sleep_start          :     294360163.632873
se.statistics.block_start          :             0.000000
se.statistics.sleep_max            :      34689385.720961
se.statistics.block_max            :         11337.665116
se.statistics.exec_max             :             7.657145
se.statistics.slice_max            :             0.550257
se.statistics.wait_max             :             7.464190
se.statistics.wait_sum             :            37.981183
se.statistics.wait_count           :                13774
se.statistics.iowait_sum           :          1556.105204
se.statistics.iowait_count         :                  278
sched_info.bkl_count               :                    0
se.nr_migrations                   :                 2816
se.statistics.nr_migrations_cold   :                    0
se.statistics.nr_failed_migrations_affine:                    0
se.statistics.nr_failed_migrations_running:                  335
se.statistics.nr_failed_migrations_hot:                   14
se.statistics.nr_forced_migrations :                    0
se.statistics.nr_wakeups           :                13471
se.statistics.nr_wakeups_sync      :                 3293
se.statistics.nr_wakeups_migrate   :                 2532
se.statistics.nr_wakeups_local     :                  655
se.statistics.nr_wakeups_remote    :                12816
se.statistics.nr_wakeups_affine    :                   78
se.statistics.nr_wakeups_affine_attempts:                 9452
se.statistics.nr_wakeups_passive   :                    0
se.statistics.nr_wakeups_idle      :                    0
avg_atom                           :             0.196329
avg_per_cpu                        :             0.938837
nr_switches                        :                13466
nr_voluntary_switches              :                13447
nr_involuntary_switches            :                   19
se.load.weight                     :                 1024
policy                             :                    0
prio                               :                  120
clock-delta                        :                   95

我建议通读要/proc/*/sched查找的文件se.statistics.nr_wakeupsse.statistics.wait_count一小时内不变的行。我不知道哪一个会给你“更好”的结果,但试试两者:) 看看哪一个给你的答案如你所愿。

于 2011-02-28T10:46:57.353 回答