|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Sergey Mudry 2:5020/400 29 Nov 2003 14:19:03 To : Kirill Frolov Subject : Re: дефрагментация ex3 --------------------------------------------------------------------------------
On Fri, 28 Nov 2003, Kirill Frolov wrote:
KF> Бегом запускать нижеприведённую программу, а потом бредить без
KF> остановки:
KF>
KF> #include <stdio.h>
KF> #include <stdlib.h>
KF> #include <math.h>
KF>
KF> int main()
KF> {
KF> long size;
KF> while(1) {
KF> void *x, *y;
KF> x=malloc(10.0*rand()/RAND_MAX);
KF> y=malloc((size=10.0*rand()/RAND_MAX+10, size));
KF> if(x==NULL || y==NULL) break;
KF> free(x);
KF> }
KF> printf("allocated %ld bytes\n", size);
KF> exit(0);
KF> }
Вообще-то, для программ с утечкой памяти, действительно никакого свопа
не напасешься.
Я ее запустил, она поработала секунд 40, после чего была прибита ядром.
Hикаких сообщений, кроме слова "Killed" не появилось.
Вставь куда-нибудь free(y), и твоя программа никогда не завершится.
А дефрагментацию ОЗУ, которую ты ищешь, делают malloc() и free()
--
С уважением, Serg.
mpg123 играет: /dev/zero :)
--- ifmail v.2.15dev5.1
* Origin: Donbass Internet Center DIPT (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/133311d8149cf.html, оценка из 5, голосов 10
|