2013-08-19 53 views
0

enter image description hereJava使用高難度內存

據此,我在apache的java進程上使用14GB +。 在我只運行一個Minecraft控制面板,當我通過Minecraft運行內存檢查時,它告訴我我已經使用了8GB的7.6GB。當我應該查看大約1-2GB的已用空間時。

我是Linux新手,這對我有點困惑。我相信這是不準確的,但如果有人能夠解釋這裏會發生什麼,那將是值得讚賞的?

+0

我認爲這是對serverfault或超級用戶更多的問題。 – Sumurai8

回答

1

結帳linuxatemyram.com

另外,如果它的虛擬機Java使用可能不準確。

您可以通過這些發射限制內存到一定規模PARAMS

-Xms1024m -Xmx1024m 

要限制爲1GB例如

+0

該網站的鏈接真的很有幫助謝謝:) – Chad

0

它的用戶apache運行java進程,是的它使用14gigs。

我認爲你需要弄髒自己的手並運行一些命令。

但是在我到達那裏之前,我應該解釋JVM是如何工作的 - 當一個java進程作爲啓動配置項的一部分被啓動時,被稱爲Xmx和Xms,這可以根據應用程序是什麼以及什麼它在做。爲什麼哦爲什麼這麼高呢?

好的Java虛擬機有一些叫做內存堆的東西 - 它設置的時間越長,它會在完成垃圾收集之前的時間越長 - 所以可以說高端銀行機器被設置爲真正高,因此它可以整天無需重啓(重啓就是完整的garabage集合) - 垃圾收集的時間越長,垃圾收集的時間就越長,因此本質上是一個小的應用程序中斷,除非在這段時間內接管其他服務。 ..

所以做一個

ps -elf |grep java 
or 
ps auwx|grep java 

看看它的配置和看出來的XMX和X毫秒VAL UE的

說話誰以往任何時候都已經將其配置爲找出爲什麼這麼高

然後做一個

free -m 

見你,如果正在使用的交換是多少實際可用內存,因爲如果你通過本月底結束掉期,則框將使用磁盤作爲存儲走慢,由於它..

希望你更多的Linux熟悉

E2a中

如果它被設置爲40gigs並且它可用,請確保它實際上將使用該40gigs,因爲該名稱表示它的虛擬機,然後它將處理它自己的資源以用於設置它。所以它會慢慢地慢慢地吃掉40Gig或接近足夠的嘗試完整的GC之前... 你實際上需要的是jconsole和一個連接到該java pid或..如果可以通過遠程jmx調用訪問..

JConsole的應該是默認的Java安裝的一部分

E2A再次,如果你正在尋找它的原因是因爲有性能問題,那麼也許你使用了錯誤的命令

sudo apt-get install nmon iftop 
or 
sudo yum install nmon iftop 

運行的nmon新聞cmd其中你可能希望運行

iftop如果你想看看網絡吞吐量

+0

現在感受這裏多一點教育感謝:) – Chad