의 일반적인 개념은 이해 swap memory
하지만 성능 테스트를 위해 를 강제로 사용하는 프로그램을 어떻게든 구축해야 하는데 swap memory
어디서부터 시작해야 할지 모르겠습니다.
flash memory card
기본적으로는 으로 사용할 를 설치할 예정인데 swap space
, 이를 통해 성능이 어떻게 향상되는지 테스트해 보고자 합니다. 나는 동시에 실행되는 여러 프로세스를 얼마나 잘 처리하는지 테스트하기 위해 여러 스레드를 사용하는 간단한 프로그램을 만드는 것이 가장 쉬울 것이라고 생각했습니다. 문제는 swap
내가 이러한 스레드를 사용하도록 "강제"할 수 있는 방법을 알 수 있을 만큼 충분히 알지 못한다는 것입니다 (또는 내가 읽은 내용에서 충분한 통찰력을 수집하지 못했습니다) swap space
.
내가 어떻게 접근할 수 있는지에 대한 확실한 제안이 있는 사람이 있나요? 나는 64-bit linux OS
아마도 이것을 에서 실행할 것입니다 Fedora 18
.
답변1
이것이 원하는 작업을 보관하는 더 좋은 방법인지는 모르겠지만 다음과 같은 C 코드를 사용했습니다.
#include <stdio.h>
#include <stdlib.h>
#define MB(size) ( (size) * 1024 * 1024 )
int main(){
char *p;
if((p = (char *)malloc(MB(256))) != NULL){
memset(p, "A", MB(256));
sleep(300);
}
}
gcc -o mhog mhog.c
echo 1 > /proc/sys/vm/overcommit_memory
이런 식으로 ./mhog를 여러 번 실행하세요.
./mhog &
서버나 컴퓨터에 메모리 부족 상황이 발생하면 시작 부분이 사용되는 것을 볼 수 있습니다.