Титла: Използване на памета при различните кернели Публикувано от: IvanST в Jan 05, 2004, 09:53 Преди няколко дена си компилирах 2.4.23 кернел и какво забелязвам - имам 2x256MB RAM в момента 495MB са заети ! обаче когато заредя другия, стария 2.4.22 кернел поведението е съвсем различно използването на памета стига максимум до 200MB, не забелязвам някаква разлика в производителноста. Обаче искам да попитам дали има някаква опция при конфигурирането за памета която съм изпуснал?
Бях чел някаде че Linux пълни памета до последно обаче защо има разлика при тези два кернела и то толкова голяма. Още нещо когато стартирам системата в единия случай памета е около 90MB в другия около 350MB. Ще бъда благодарен ако някой по знаещ може да обясни нещата ![]() Титла: Използване на памета при различните кернели Публикувано от: ivak в Jan 05, 2004, 21:47 512 mb са доста ram и е трудно да ги заемеш изцяло с
програми. по принцип кернелът ползва цялата неалокирана памет (т.е. такава, която не е присъединена към адресното пространство на някоя програма) за дискови буфери. процеса на алокация е динамичен - колкото повече памет заемат програмите, толкова по-малки стават буферите. в някакъв момент се достига до минималния допустим размер на буферите и тогава кернелът започва да яде от виртуалната памет. обаче във всеки от междинните моменти free (или cat /proc/memstat ако предпочиташ) твърди, че цялата налична памет е изконсумирана. единствения момент, когато това не е така, е след boot, преди кернелът да е извършил достатъчно i/o операции, за да напълни буферите. накратко казано, отговорът на твоя въпрос е: вероятно си гледал статистиката на двата кернела в различен момент след boot-ването. определено има доста опции за конфигуриране на паметта, но те не са достъпни от make menuconfig. за някой неща се изисква бърникане по хедърите, за други - писане в разни /proc файлове. добра отправна точка за научаване на повече подробности около тези бъзикни е страницата: http://linuxperf.nl.linux.org/ Титла: Използване на памета при различните кернели Публикувано от: IvanST в Jan 05, 2004, 22:11
Точно това е че не сам гледал различен момент за това и ми направи впечатление като интересно явление, просто дори и веднага след реебутване при двата кернела ,както писах започват с различно количество памет. Тъй като и двата са в момента на на PC ще направя скрииншот и ще го постна някаде И за двата swapa е на 0MB обаче 2.4.23 кернела изпълва памета почти докрай докато при 2.4.22 повече от полвината памет остава свободна това е да кажем след около 10-20 мин работа след boot . Титла: Използване на памета при различните кернели Публикувано от: ivak в Jan 05, 2004, 22:43 за да ти е най-чист експериментът, зареди в single user.
най-добре с аргумент init=/bin/bash от boot prompt. защото в противен случай бог знае какво прави ipl процедурата. примерно, може да пуска updatedb. другото, което не каза, е какъв е 2.4.22 кернелът. ако не си го компилирал ти може да са му правени някакви tweak-ове от дистрибутора. понякога размерът на дисковите буфери се орязва нарочно, за да може винаги да има свободна памет на разположение. виж цитата по-долу:
аз все още работя на .22 и той се държи точно по начина, който описа за 2.4.23 - веднага глътва цялата налична памет. същото правеха и всички кернели, които мога да си спомня, още от 2.0.0 насам. Титла: Използване на памета при различните кернели Публикувано от: IvanST в Jan 05, 2004, 23:07 И двата кернела аз съм ги компилирал като сорса е от Дебиан
Титла: Използване на памета при различните кернели Публикувано от: в Jan 06, 2004, 13:35 Dokolkoto znam 2.4.23 e sys now memory management (mislia che go naprawiha kato tozi w 2.6 iadrata). Normalno e da ima razlika wse pak sa dwe razlichni wersii.
Титла: Използване на памета при различните кернели Публикувано от: ivak в Jan 06, 2004, 13:58 няма такова нещо, както можеш да се убедиш и сам:
http://www.bg.kernel.org/linux/kernel/v2.4/ChangeLog-2.4.23 2.4 е стабилна версия и такива промени в него са малко вероятни. Титла: Използване на памета при различните кернели Публикувано от: в Jan 06, 2004, 17:59 Stawa wypros za towa (w syshtia tozi change log):
<marcelo:logos.cnet>: o Mehmet Ceyran/Alan Cox: Longer i810_audio.c retries o aa VM merge: Per-zone watermark changes, add lower_zone_reserve_ratio o aa VM merge: page reclaiming logic changes: Kills oom killer o aa VM merge: Page accounting helpers changes o aa VM merge: tunables o aa VM merge: Kill PF_MEMDIE o aa VM merge: Fixup page reclaiming changes patch Dokolkoto znam stawa wypros za Virtual Memory merge sys tazi na Andrea Arcangeli (aa). Mislia che tochno towa VM se polzwa wyw 2.6 no ne sym siguren. Титла: Използване на памета при различните кернели Публикувано от: ivak в Jan 06, 2004, 21:59 прав си, приятелю, но само за едно. това наистина са
пачове на Андреа Архангели. да ти призная, обаче, никъде измежду тях не видях нещо, което да променя драстично поведението на операционната система. има няколко поправки на потенциални smp колизии и лек ремонт на стратегията за възстановяване от състояние "out of virtual memory". нищо чак толкова драматично. промените засягат около 3% от кода на mm, предимно в частта, където се управлява пейджинга. изобщо не може да се говори за нов mm. ако не ми вярваш, провери сам за какво иде реч. може пък аз да бъркам и да не съм забелязал някое фундаментално нововъведение. обаче недей да ми губиш повече времето с разни "доколкото знам" и "мисля че". Титла: Използване на памета при различните кернели Публикувано от: в Jan 07, 2004, 01:56 Powecheto promeni sa wyw mm/vmscan.c
/* * linux/mm/vmscan.c * * The pageout daemon, decides which pages to evict (swap out) and * does the actual work of freeing them. .... Ne sym zapoznat dobre sys source code-a no spored men imenno tezi promeni prawiat taka che da se zaema pochti cialata pamet na sistemata i to wyw cache i buffers. Kato gledam source-a imenno tuk se reshawa na koi pages da se naprawi free. I ne sym kazal che se promenia drastichno powedenieto na operacionnata sistema. Operacionnata sistema ne e samo memory management. Титла: Използване на памета при различните кернели Публикувано от: ivak в Jan 07, 2004, 02:15 виждам, направил си си труда да погледнеш patch файла,
сега се опитай и да го разбереш. може би е добре да започнеш с малко терминология, като например да си изясниш какво точно означава "виртуална памет" и "суап". ако имаш някакви въпроси - питай смело, може би ще мога да ти помогна. мога да те насоча и към някои полезни четива. последното ти изречение няма да го коментирам. погледни заглавието на темата. Титла: Използване на памета при различните кернели Публикувано от: в Jan 07, 2004, 14:47 Iawno ne ti lipswa samochuwstwie. Niama da zanimawam genii kato tebe s wyprosi otnostno "суап".
|