2011-05-03 74 views
0

首先有一點背景:我們使用this tutorial將我們的Minecraft世界文件夾(在我們的設置中不會超過150MB左右)放入Linux共享內存文件夾中。我們每隔10分鐘使用rsync將其備份到硬盤。這應該會減少HDD(單個1TB驅動器)必須承受的I/O操作量。Linux共享內存分配行爲

我們昨天晚上設置了這個,但是我們忘記了每個星期二晚上我們的備份程序也開始運行(這將備份整個服務器到網絡上的另一臺機器)。通常這不是問題,但是這次我們的服務器陷入了昏迷狀態。它開始交換內存,因爲它耗盡了RAM。

現在我覺得這有點奇怪,因爲我認爲共享內存只會分配150MB的內存來存儲數據。安裝4GB後,你會認爲這並不重要。

我的問題是:共享內存是否實際上在內存上分配了足夠多的空間來存放數據量,或者它的行爲不同(比如它保留了更大的塊)?我在網上很難找到關於這方面的信息。

如果你可以給出一些關於服務器爲什麼會嚇壞的提示,請做。

+0

明顯的建議,但爲什麼不嘗試監視進程的內存使用情況? – 2011-05-03 13:48:30

回答

2

你或許可以找到你想要的東西通過

df /dev/shm 
du -shc /dev/shm/minecraft/world/* 

或者你可以使用更好的道路,並創建一個單獨的安裝,並限制它:

mkdir /tmp/minecraft 
sudo mount -o size=150M,noexec,nodev -t tmpfs none /tmp/minecraft 

HTH

PS:完全可以從fstab設置此掛載,例如

none /mnt/minecraft tmpfs auto,size=400M,noexec,nodev 0 0