Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: дефрагментация ex3   Sergey Mudry   29 Nov 2003 14:19:03 
Архивное /ru.linux/133311d8149cf.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional