Solaris
如何手動增加記憶體使用量?
我們的伺服器上有 Solaris 10 作業系統,我想在這台伺服器上進行測試。對於此測試,記憶體使用率應該很高。
所以我想知道是否有一種簡單的方法可以手動增加記憶體使用量?
最簡單的方法是填充 /tmp,假設它使用的是預設的 tmpfs。執行
df -k /tmp
以確保它是。要將您的(虛擬)記憶體使用量增加 1 GB,請執行
mkfile 1g /tmp/1g
釋放它
rm /tmp/1g
這個頁面應該可以幫助你。只是c中的小程序:
#include <stdlib.h> #include <stdio.h> #include <string.h> int main(int argc, char** argv) { int max = -1; int sleep_interval = 2; int mb = 0; char* buffer; if(argc > 1) max = atoi(argv[1]); if(argc > 2) sleep_interval = atoi(argv[2]); while((buffer=malloc(1024*1024)) != NULL && mb != max) { memset(buffer, 0, 1024*1024); mb++; printf("Allocated %d MB\n", mb); } printf("sleeping for %d\n",sleep_interval); sleep(sleep_interval); return 0; }
請記住,如果沒有給程序分配最大記憶體量,它將分配到它可以用盡的記憶體量(可能受 ulimit、記憶體量或地址空間大小的限制)。