우리 서버에는 Solaris 10 OS가 있고 이 서버에서 테스트하고 싶습니다. 이 테스트에서는 메모리 사용량이 높아야 합니다.
그렇다면 수동으로 메모리 사용량을 늘리는 쉬운 방법이 있는지 궁금합니다.
답변1
가장 쉬운 방법은 기본 tmpfs를 사용한다고 가정하고 /tmp를 채우는 것입니다. 실행 df -k /tmp
하여 확인하십시오.
(가상) 메모리 사용량을 1GB 늘리려면 다음을 실행하세요.
mkfile 1g /tmp/1g
풀어줘
rm /tmp/1g
답변2
이 페이지당신을 도와야합니다. 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, 메모리 양 또는 주소 공간 크기에 의해 제한될 수 있음)이 소진될 때까지 할당됩니다.
답변3
메모리를 채우는 가장 쉬운 방법은 문자열 배열(또는 다른 유형의 배열)을 할당하는 프로그램을 만드는 것입니다. 페이징 대신 메모리에 데이터를 유지해야 하는 경우 할당된 메모리를 스캔해야 합니다. 주기적으로.
할당 후에 긴(명령줄 인수로 제어 가능) 절전 간격을 추가하겠습니다.
필요한 메모리 양이 채워질 때까지 위 프로그램의 여러 인스턴스를 실행하겠습니다.
답변4
이것이 Solaris에서도 작동하는지 모르겠습니다. 하지만 Posix 호환 시스템에서 실행되도록 설계되었으므로 시도해 볼 수 있습니다.압력다양한 스트레스를 수행할 수 있는 매우 "간단한" 스트레스 테스트 생성기입니다. 메모리 공간을 생성하는 것이 그 일부입니다.
지금까지 몇 가지 Linux 배포판(CentOS, SLES)에서 아무 문제 없이 컴파일/테스트했습니다.