我目前正在託管一個java服務器程序(craftbukkit),並且似乎當我嘗試從服務器程序(craftbukkit)獲取RAM使用時,它不會返回實際使用的RAM,但而是大約一半的使用。 (雖然它並不總是一半,所以不可能以這種方式估計實際的RAM使用量)。獲取JAVA PID PHP
我想知道如何獲得Java進程使用的實際RAM,如系統監視器工具(在Linux上)所示,這樣我就能夠檢索用於報告的RAM量系統。我只看到一個以前使用過程PID的例子,但我不知道如何去獲取進程的PID,只知道名字(只有一個java實例正在運行,所以我們不會去做,不必擔心得到錯誤的結果)
提前致謝!
用ps -ef | grep「java」我得到以下輸出
[email protected]:~$ ps -ef | grep "java"
1000 22292 29385 75 12:08 pts/0 00:42:19 java -Xmx3100M -Xms1024M -XX:MaxPermSize=248m -jar craftbukkit.jar
1000 23544 23443 0 13:04 pts/2 00:00:00 grep java
但是用ps -eo pid | grep「java」 控制檯根本沒有返回結果。儘管根據我的理解,它應該返回PID。
這可能是因爲該程序報告的實際內存使用率但Java分配量/儲量更多。我建議你看看如何看看你的操作系統使用了多少內存(我認爲是Linux),然後在PHP中執行一個解析該內存的命令。 –
當我嘗試從程序內部獲取內存使用量時,它會返回LESS,而不是分配的操作系統報告,這不是我想要的值。我需要操作系統報告的值,我問的是如何通過php獲取操作系統報告爲USED的內容,而不是PID。我知道它報告真實的內存使用情況,但我需要分配內存。這就是我要問的問題。我知道我需要做什麼,但不知道如何...... –
如果您知道名稱,google爲「linux獲取進程內存使用情況」並檢查「grep」是幹什麼的... –