Linux

為什麼有些伺服器有這麼多程序在執行?

  • January 5, 2011

我有兩台 VPS 伺服器,但它們的記憶體使用量和執行的程序截然不同。我仍然是執行 linux 伺服器的新手,所以我無法弄清楚發生了什麼以及我可以做些什麼來修復它。

兩者都是 Debian 5 32 位安裝。

在一台具有 128MB 記憶體和一個 CPU 核心的伺服器上,我有一個完整的伺服器執行在只有 84MB 的 RAM 中。另一台伺服器有 512MB(四核 CPU),除了核心程序之外什麼都沒有執行,但它仍然使用 94MB 的 RAM。

是否有另一種需要更多 linux 核心程序的虛擬化技術?

您看到的是正常行為。不要將已用記憶體與不可用記憶體混淆。當需要記憶體時,許多保存在記憶體中的結構可以快速縮小。只要係統啟動並且有大量記憶體可用,您的使用量就會增加。

用於磁碟記憶體的空間計數為已使用。一旦您讀取或寫入文件,數據往往會被記憶體,直到需要此空間。日誌文件往往是只寫的,但在生成時會被記憶體。從我的使用圖表中可以看到一些值得注意的事情:

  • 系統啟動的時間越長,專用於文件記憶體和緩衝區的記憶體就越多。這受可用記憶體量的限制。隨著記憶體需求的增加,專用於文件記憶體和緩衝區的記憶體可能會根據需要減少。
  • 使用的總記憶體穩定了一些 Mb 不足 100%。這是為執行子程序保留的記憶體。如果這個空間變得太小,預計性能會降低並崩潰。
  • 使用的總記憶體並不像它所使用的那樣重要。

如果您有任何 tmpfs 文件系統,它將使用可用記憶體。隨著記憶體使用量的增加,其中一些數據可能會被分頁到交換文件中。

Web 伺服器程序通常與一個主程序一起執行以接受傳入連接,並與許多子程序一起處理請求。子程序通常具有相同的 PPID(父程序 ID)。您的一台伺服器似乎正在執行nginxphp-cgi使用大量程序處理 Web 請求。命令pstree(如果可用)對於查看這種設置很有用。

引用自:https://serverfault.com/questions/218771