linux写一个c语言的内存压力测试工具
时间: 2023-09-13 17:12:46 浏览: 119
好的,下面是一个简单的内存压力测试工具的示例代码,可以在Linux系统中使用:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#define MB (1024 * 1024)
int main(int argc, char *argv[]) {
if (argc < 2) {
printf("Usage: memtest <memory size in MB>\n");
return 0;
}
int size = atoi(argv[1]) * MB;
char *p = malloc(size);
if (!p) {
printf("Memory allocation failed!\n");
return 0;
}
memset(p, 0, size);
printf("Allocated %d MB memory successfully!\n", size / MB);
while (1) {
sleep(1);
}
free(p);
return 0;
}
```
这个程序会根据输入的参数申请相应大小的内存空间,并通过循环不断占用该内存空间,直到程序被手动停止。
你可以通过命令行输入需要测试的内存大小,比如:
```
$ ./memtest 100
```
这个命令会申请100MB的内存空间,并不断占用该空间,直到程序被手动停止。
注意,这个程序可能会对系统造成一定的负担,因此请谨慎使用,并确保你有足够的权限来执行该程序。同时,也请确保你的系统有足够的可用内存来测试。
阅读全文