Solaris

如何手動增加記憶體使用量?

  • March 28, 2018

我們的伺服器上有 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、記憶體量或地址空間大小的限制)。

引用自:https://unix.stackexchange.com/questions/48668