Freebsd

在 FreeBSD 上刪除記憶體記憶體

  • November 22, 2019

我使用基於 OS 版本 FreeBSD 8.2-RELEASE-p6 的 FreeNAS 伺服器。我在我的 8GB 物理記憶體安裝盒上使用帶有 13TB 硬碟的 ZFS 文件系統。它在處理某些請求時幾乎使用了所有已安裝的 RAM。但是,它仍然在空閒時間使用相同數量的記憶體。所以這有時會成為一個問題。

在我的 centos 網路伺服器上;我使用以下命令通過 cronjob 刪除記憶體記憶體;

sync; echo 3 > /proc/sys/vm/drop_caches

但是,此命令在我的 Freenas 伺服器上不起作用。如何在基於 FreeBSD 8.2 的 FreeNAS 機器上刪除記憶體記憶體

謝謝

首先,CentOS 是一個 Linux 作業系統。Linux 與 FreeBSD 完全不同。

你真的不需要釋放記憶體的記憶體,可能你不需要在你的 Cent 盒子上,但它確實取決於你在它上面執行的東西。只有當你有一個非常具體和充分的理由時,你才應該搞亂記憶體管理。

您希望在生產機器上執行此操作的唯一原因是,如果您有一個應用程序,它自己的記憶體使用量基於可用記憶體量。我不知道有任何 *nix 程序可以做到這一點,但它們可能就在那裡。即使是這種情況,您也應該對系統記憶體使用智能記憶體限制,而不是手動或定期刷新它們。

刷新記憶體的唯一其他常見原因是出於基準測試和測試目的。

如果上述兩個之一不適用,請不要刷新記憶體。

更新:

除了下面的評論,讓我通過一個簡單的測試來錘擊性能差異。

dd if=/dev/zero of=/path/to/test.1g bs=1m count=1024

1073741824 字節在 20.998713 秒內傳輸(51133697 字節/秒)

dd if=/path/to/test.1g of=/dev/null bs=1m

1073741824 字節在4.496601 秒內傳輸(238789654 字節/秒)

dd if=/path/to/test.1g of=/dev/null bs=1m

1073741824 字節在1.071374 秒內傳輸(1002210138 字節/秒)

第一次讀取測試文件時沒有記憶體;第二次它已經在記憶體中,所以讀取操作完成的速度快了四倍。在典型的伺服器中,90% 的讀取是磁碟上 1% 的文件/數據。如果這 1% 的大部分可以保留在記憶體記憶體中,那麼磁碟讀取通常會快 4 倍(至少在我的伺服器上)。

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