是否有可以告訴我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主動運行隊列列表sched.h
- 2. 扭曲CPU隊列任務的隊列
- 3. Solaris進程佔用大CPU
- 4. 確定CPU utilization-在solaris UNIX
- 5. 在隊列中運行WF
- 6. Laravel隊列立即運行
- 7. 不斷運行的隊列
- 8. 運行Laravel隊列自動
- 9. 運行在CPU
- 10. 在Solaris上運行FileBeat
- 11. Laravel Artisan隊列 - 高CPU使用率
- 12. Oracle高級隊列:運行時更改隊列屬性
- 13. 隊列在Laravel隊列上運行X個下一個任務
- 14. Python的隊列 - 必須在運行
- 15. 在運行Jars中連接JMS隊列
- 16. 拆分隊列並始終運行
- 17. 如何實現可運行隊列
- 18. 在運行時創建JMS隊列
- 19. 如何查看共享運行隊列
- 20. 讓隊列作業始終運行
- 21. Laravel一次運行所有隊列
- 22. Sidekiq在運行時創建隊列
- 23. Solaris 11可以運行Android dalvik嗎?
- 24. 腳本無法在Solaris上運行
- 25. 從Solaris KornShell運行.ksh腳本
- 26. 以100%CPU運行的Netty
- 27. 運行時CPU架構
- 28. CPU運行在100%以上
- 29. 隊列可運行在其他線程運行的Android
- 30. 在SpriteKit中,我可以讓一些SKA隊列並行運行,而其他隊列可以按順序運行?
謝謝。我會嘗試使用prstat -n 1000 -acL 1,並檢查它是否給出了運行隊列的準確信息。 – Vasu 2010-02-14 09:07:50
@Vasu:在這種情況下什麼是「準確的運行隊列信息」?我認爲這很難找到合理的含義。 – miracle173 2017-12-05 09:32:59