有什么方法可以检查我的高级等级吗?我试过ps
,但由于某种原因,输出没有显示 NI 列,如果我没记错的话,该列应该显示高级优先级。
ps -fl -c
F S UID PID PPID CLS PRI ADDR SZ WCHAN STIME TTY TIME CMD
0 S sebas 9761 26810 TS 19 - 6564 wait 18:07 pts/4 00:00:00 bash
0 R sebas 25389 9761 TS 19 - 5661 - 18:27 pts/4 00:00:00 ps -fl -c
答案1
-o 标志允许您指定列。如果您想查看您的 nice 级别,这将在 NI 列中。因此,要查看所有进程及其 nice 级别,请执行以下操作:
ps ax-o pid,ni,cmd这将列出进程 ID、良好级别和实际命令。
例子:
$ps ax -o pid,ni,cmd
PID NI CMD
1 0 /sbin/init
2 -5 [kthreadd]
3 - [migration/0]
4 -5 [ksoftirqd/0]
5 - [watchdog/0]
6 - [migration/1]
7 -5 [ksoftirqd/1]
8 - [watchdog/1]
答案2
我建议你使用htop
。这是一个很棒的监控应用程序,它还可以显示你的机器上运行的每个进程的优劣。
答案3
有一种比使用-o
标志更简单的方法。ps 命令的 -l(小写 L)标志显示指定进程的 nice 值和当前优先级值。
ps -l PID
ps -lu USERNAME
答案4
您也可以使用/proc
文件系统。如果要查找进程 3236 的良好级别,请输入:
cat /proc/3236/stat
进程优先级(正整数:值越大,调度优先级越高)和 nice 级别是字段 18 和 19。不幸的是,nice 值打印为无符号整数,这意味着,如果它是负数,它将显示为接近 2^32 的大整数。例如,我使用命令启动了进程 3236。/proc/3236/stat 如下/bin/nice -n 19 python
所示:
3236 (python) R 3230 3226 2145 34816 0 0 0 0 0 0 413750 51571 42 82 1 4294967277 4 0 21169489 267072106496 1718609 18446744073709551615 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
优先级和 nice 值分别为 1 和 4294967277。4294967277 为 -19,呈现为 32 位无符号整数。/proc
如果您想检查程序中进程的属性,这很方便。
这里是文件系统的手册页/proc
。