จาก Lug
#include <stdlib.h>
#define N 10000
int main() {
char* a[N]; char* b; int i;
system("ps u -C a.out; free");
b = malloc(1024);
for (i = 0; i < N; ++i) {
a[i] = malloc(1024);
}
//b = malloc(1024);
system("ps u -C a.out; free");
for (i = 0; i < N; ++i) {
free(a[i]);
//system("ps u -C a.out");
}
system("ps u -C a.out; free");
free(b);
system("ps u -C a.out; free");
return 0;
}
$ gcc ~/malloc.c ; ./a.out
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
sysadmin 9616 0.0 0.0 1360 252 pts/0 S+ 16:53 0:00 ./a.out
total used free shared buffers cached
Mem: 906736 891580 15156 0 18908 79488
-/+ buffers/cache: 793184 113552
Swap: 1022252 257740 764512
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
sysadmin 9616 0.0 1.1 11524 10412 pts/0 R+ 16:53 0:00 ./a.out
total used free shared buffers cached
Mem: 906736 901668 5068 0 18908 79488
-/+ buffers/cache: 803272 103464
Swap: 1022252 257740 764512
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
sysadmin 9616 0.0 0.0 1492 464 pts/0 R+ 16:53 0:00 ./a.out
total used free shared buffers cached
Mem: 906736 891776 14960 0 18908 79488
-/+ buffers/cache: 793380 113356
Swap: 1022252 257740 764512
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
sysadmin 9616 0.0 0.0 1492 464 pts/0 R+ 16:53 0:00 ./a.out
total used free shared buffers cached
Mem: 906736 891776 14960 0 18908 79488
-/+ buffers/cache: 793380 113356
Swap: 1022252 257740 764512
#include <stdlib.h>
#define N 10000
int main() {
char* a[N]; char* b; int i;
system("ps u -C a.out; free");
//b = malloc(1024);
for (i = 0; i < N; ++i) {
a[i] = malloc(1024);
}
b = malloc(1024);
system("ps u -C a.out; free");
for (i = 0; i < N; ++i) {
free(a[i]);
//system("ps u -C a.out");
}
system("ps u -C a.out; free");
free(b);
system("ps u -C a.out; free");
return 0;
}
$ gcc ~/malloc.c ; ./a.out
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
sysadmin 9598 0.0 0.0 1360 252 pts/0 S+ 16:52 0:00 ./a.out
total used free shared buffers cached
Mem: 906736 891580 15156 0 18880 79488
-/+ buffers/cache: 793212 113524
Swap: 1022252 257740 764512
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
sysadmin 9598 0.0 1.1 11524 10412 pts/0 R+ 16:52 0:00 ./a.out
total used free shared buffers cached
Mem: 906736 901652 5084 0 18880 79488
-/+ buffers/cache: 803284 103452
Swap: 1022252 257740 764512
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
sysadmin 9598 0.0 1.1 11524 10412 pts/0 R+ 16:52 0:00 ./a.out
total used free shared buffers cached
Mem: 906736 901652 5084 0 18880 79488
-/+ buffers/cache: 803284 103452
Swap: 1022252 257740 764512
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
sysadmin 9598 0.0 0.0 1492 464 pts/0 R+ 16:52 0:00 ./a.out
total used free shared buffers cached
Mem: 906736 891716 15020 0 18880 79488
-/+ buffers/cache: 793348 113388
Swap: 1022252 257740 764512