是否有可以告诉我Solaris运行队列中有什么的命令? 我可以使用vmstat获得计数,但我需要知道哪些进程/线程在那里。Solaris CPU运行队列
1
A
回答
4
运行队列总是在变化,所以几乎不可能在当前运行队列中获取进程集。
也就是说,您可以通过查看ps
的进程列表的STAT
(状态)字段来获得近似值。当运行以下命令:
$ ps aux
...的,如果STAT
场R
开头,这个过程被标记为内核,这在大多数操作系统意味着它在运行队列RUNNABLE
。以下是一个可运行的过程看起来像我的机器上:
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 78179 0.0 0.0 599828 480 s003 R+ 7:51AM 0:00.00 ps aux
在Solaris上,您还可以使用prstat
命令,并期待在STATE
列。值run
指示进程在运行队列上。 (另请注意,值cpuN
表示该进程目前处理器N.
运行,例如:
$ prstat -s cpu -n 5
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
13974 kincaid 888K 432K run 40 0 36:14.51 67% cpuhog/1
27354 kincaid 2216K 1928K run 31 0 314:48.51 27% server/5
14690 root 136M 46M sleep 59 0 0:00.59 2.3% Xsun/1
14797 kincaid 9192K 7496K sleep 59 0 0:00.10 0.9% dtwm/8
14851 kincaid 24M 14M sleep 48 0 0:00.03 0.3% netscape/1
Total: 97 processes, 190 lwps, load averages: 2.18, 2.15, 2.11
1
我正要纠正0xFE的答案,当我看到你已经做到了运行队列包含的不是进程,所以如果你想让“状态运行”行的数量与运行队列的匹配程度更多或更少,那么-L选项对于prstat命令是强制性的。注意采样工件可能会阻止获得准确的匹配。
在任何情况下,如果您想要精确知道哪些进程/线程是sitti在运行队列中,假设您运行的是Solaris 10或更新的版本,则宁愿采用dtrace方式。
可能已经在/ usr /演示/ DTrace的目录你的机器上的whoqueue.d脚本将是一个良好的开端:
# dtrace -s /usr/demo/dtrace/whoqueue.d
Run queue of length 1:
24349/1 (dtrace)
Run queue of length 3:
0/0 (sched)
0/0 (sched)
0/0 (sched)
Run queue of length 4:
22468/30 (java)
22468/17 (java)
22468/23 (java)
22468/10 (java)
看一看this page了解详情。
+0
谢谢。我不需要非常高的准确度,1秒内的prstat对我来说已经足够了。我无法在Solaris 9上使用dtrace。 – Vasu 2010-02-17 13:15:08
相关问题
- 1. 扭曲CPU队列任务的队列
- 2. Solaris进程占用大CPU
- 3. 确定CPU utilization-在solaris UNIX
- 4. 不断运行的队列
- 5. 运行在CPU
- 6. 队列在Laravel队列上运行X个下一个任务
- 7. Oracle高级队列:运行时更改队列属性
- 8. 拆分队列并始终运行
- 9. 在运行时创建JMS队列
- 10. 在运行Jars中连接JMS队列
- 11. Laravel一次运行所有队列
- 12. 让队列作业始终运行
- 13. 从Solaris KornShell运行.ksh脚本
- 14. 以100%CPU运行的Netty
- 15. C# - 队列管理,它总是运行和出队
- 16. 执行队列
- 17. 高CPU使用并行运行
- 18. Solaris OS x86。我可以运行在Solaris Sparc上运行的旧应用程序吗?
- 19. 在运行时找出特定线程的CPU内核
- 20. 双阵列队列add(i,x)的运行时间
- 21. 多个串行调度队列没有运行Concurrentl?
- 22. 如何创建始终串行的GCD队列,即使在多核CPU上?
- 23. 如何在给定的负载下运行CPU(%CPU利用率)?
- 24. 在solaris上运行一个可执行的C++程序
- 25. 使用EC2运行CPU-任务重
- 26. Python的Tensorflow运行在GPU代替CPU
- 27. 部分代码的CPU运行时间
- 28. 双核CPU利用率W¯¯运行
- 29. OpenCL:运行CPU/GPU多个设备
- 30. MSBUILD是否在ARM-CPU上运行?
谢谢。我会尝试使用prstat -n 1000 -acL 1,并检查它是否给出了运行队列的准确信息。 – Vasu 2010-02-14 09:07:50
@Vasu:在这种情况下什么是“准确的运行队列信息”?我认为这很难找到合理的含义。 – miracle173 2017-12-05 09:32:59