Автор Тема: Какво става когато на Линукс му свърши RAM-а?  (Прочетена 4782 пъти)

m0rph

  • Напреднали
  • *****
  • Публикации: 271
    • Профил
Първо искам да се извиня ако темата е в грешния раздел, но дълго се чудих къде да е и накрая реших да е тука. Искам да разбера какво става когато свърши RАM паметта (тука под RAM имам в предвид Ram+Swap). Лично на мене ми се е случвало под няколко различни дистрибуции и резултата в 99% от случаите е бил рестарт. В първият момент когато пусна някое приложение или пък заредя голям графичен файл който да заеме паметта, системата почва да се държи много бавно, но все още има надежда с CTRL+ALT+ESC да спра програмата която е заела паметта. След около минута обаче вече нито клавиетурата нито мишката въобще реагират а само от харда се чува постоянно четене. Веднъж си направих експеримент и пуснах приложението на КДЕ за следене на ресурсите след което заредих 10МБ JPEG файл. Системата пак спря да реагира като интересното беше, че графиката за заетия RAM ту спадаше надолу ту скачаше до горе все едно компа беше изпаднал в някакъв цикъл. На повечето от вас може да се струва, че това е бял кахър, обаче за мене проблема е актуален тъй като ми се налага да боравя с голями графични файлове за които нямам достатъчно RAM, но до сега не намарих нито една програма под линукс (в това число и GIMP) която да може да отваря файла на части докато под Уиндолс дори и елементарния "Picture and Fax viewer" се справя без проблеми. Ще съм много благодарен aко някой може да ми каже такава програма дори да е и само за разглеждане. От друга страна нямам възможност нито да увелича Swap партишъна нито да си сложа повече RAM. В момента съм със Слак 10.1, KDE-то е 3.4, имам 256MB RAM и 256MB SWAP.

  • Гост
Звучи ми странно да боравиш с 10МВ-ови файлове (т.е. много такива) и да нямаш диск, от който да отчупиш мястото за 20-тина такива файлове '<img'>

Ако направиш swap-а двоен на паметта, вероятно няма да се получават такива работи. Лично ползвам за разглеждане QuickView / QuickShow - мисля, че са достатъчно леки '<img'>

Успех.
Активен

rat

  • Напреднали
  • *****
  • Публикации: 266
    • Профил
Когато свърши паметта (рам и суап) линукс убива най-младия процес. Това с рестарта е странно. Със сигурност не е от това че ти свършва паметта. Повече ми прилича на хардуерен проблем с паметта.

Мисля че при юникс не е така но и не знам  как е  '<img'>

  • Гост
Искам да уточня Линукса не се рестартира сам просто единствената възможност е да го рестартирам. Сега си направих още един експеримент. Под Windows един от файловете който е 6МБ компресиран JPEG се отваря в Irfan View за няколко секунди и заема от паметта към 120 МБ същият файл под Линукс въобще не се зареди от KuickShow. В първият момент след като го отворих почна да се заема Swap-а и след около минута стигна някаде до към 50% което прави 128 МБ както и под Win, в този момент се отвори прозореца на KuickShow в който трябва да се покаже изображението и започна да заема още Swap един вид се опитва да зареди некомпресираното изображение два пъти в паметта и за това RAM-a не стига. Когато се опитах да заредя две изображения под Win тогава резултата беше по зле отколкото при линукс, дори и след като спрях Irfan View, Windows-a продължи да се държи като забил докато при Линукс успея ли да спра програмата земаща паметта всичко си става наред. Сега ще пробвам с някои други програми под Линукс и ако успея да намеря такава която заема по малко памет ще пища пак.
Активен

anger

  • Напреднали
  • *****
  • Публикации: 19
    • Профил
Защо не ползваш някой по-лек wm?
Активен

rat

  • Напреднали
  • *****
  • Публикации: 266
    • Профил
Да разбирам ли че имаш проблем и под Виндовс и под Линукс ?
Искам да кажа че ако наситина имапш проблем и под двете операционни системи , най-вероятно имаш хардуерен проблем , както предпложих и в първия ми пост.
Аз направих един тиф файл с големина почти 6 МБ и в КuickShow се зарежда почти мигновенно.

CaBA

  • Напреднали
  • *****
  • Публикации: 303
    • Профил
    • WWW
Паметта, която заема gimp, може да се настройва. Виж File->Preferences->Environment.

Сега по въпроса за заеманата памет -  всички програми на GNU (а и повечето свободен софтуер) са написани така, че максимално да я ползват. Това е направено с цел да се минимизират бъговете при управлението й: източникът на най-много програмни грешки в цялата история на програмирането. Проблемът при теб наистина може да е хардуерен, затова си пусни вечерта програма за тестване на паметта като memtest и ако на сутринта имаш грешки, ще трябва да я смениш. Windows за разлика от Линукс ползва много по-слабо паметта (и затова увеличаването й не винаги води до по-висока производителност при Джамовете). Windows може да работи "почти" коректно с развалена памет (случвало ми се е 3 месеца), но с Линукс веднага се забелязват грешките. Също така разгледай системния журнал (обикновено /var/log/messages) за съобщения като DriveSeekCompleteError - това обикновено означава, че диска е тръгнал да си ходи.
Активен

10 години ябълкова диета стигат, стигат!

m0rph

  • Напреднали
  • *****
  • Публикации: 271
    • Профил
Не знам защо като свърши паметта Линукса забива но поне намерих програма която да ми отваря големи файлове "XN View". Отваря и най голямият файл  по бързо от Irfan View и дори няма накъсване при скролиране на изображението. Въпреки, че върви доста бъгаво и интерфеиса е малко грозен смятам нея да ползвам. Колкото до проблема с паметта не смятам, че е от RAM-a имам и друга платка с 256 с коята става същото нещо. Двете платки не се рабират една друга за това не мога и да ги използвам едновременно, но по отделно си работят. Имам чувството че просто Линукса си е така. Ако има някои друг с 256 RAM или по малко и с max 256 МB swap да опита да отвори някой 10-ина МB JPEG с KuickShow и да каже какъв е резултата. Изображенията които аз отварям са 5709x7283@24bit размер. Колкото до Windows не смятам, че там е проблем това, че след работа с проложения изискващи много работа с паметта (като игри например) работата на ОС се забавя просто така си е направен самият Win.

the_real_maniac

  • Напреднали
  • *****
  • Публикации: 1258
  • Kernel panic, me - no panic ;-) :-)
    • Профил
Определено проблема , щом го имаш на различни дистрибуции и последно под Уиндоус има ли подобен НЕ Е от използването на паметта, ами от самата памет - може да е RAM , може и да е SWAP-a , може хдд-то ти да е тръгнало да си заминава (примерно!'<img'>.

От толкова много ти писания , въпреки тях пак не разбрах какво правиш. Първо казваш като се опитам да отворя 10МБ файл,после говориш почти само за KquickShow ли беше.
Може да е bug в програмата примерно.

Досега не съм имал случей Linux-a да ми забие от нямане на памет.
Най-много използване имах като компилирах KDE.
RAM256MB + Swap1G стигал -> почти 900Мб суап използван и цяла памет- никакъв проблем.
Активен

Powered by Debian GNU / LINUX /// Intel inside ...

„Насилието е последното убежище на некомпетентността“ - Айзък Азимов (1920 — 1992)

m0rph

  • Напреднали
  • *****
  • Публикации: 271
    • Профил
И все пак някой с малко рам и малък swap пробва ли да отвори с KuickShow нещо да видим какво ще стане. Всъщност същото става и с Konqueror така, че единственото изискване е да свърши паметта. Windowsa го знам как реагира, почва да ръси съобщения да увелича Swap-a и, че не стига рам за да стартира еди коеси  докато Линукс изпада в някакъв глупав цикъл кайто заема 100% процесора и просто нищо не работи. Искам някой да ми каже как би трябвало да реагира Лин когато му свърши паметта и трябва да зареди да речеме още 100МБ. Точно и заради това искам някой с малко рам и суап да повтори експеримена и да каже какаъв е резулатата.

  • Гост
Аз лично ползвам GQView. Дали можеш да пробваш с него? С него 3МБ jpg се отваря безпроблемно на PIII 600, 168MB RAM и 200MB Swap.
Активен

spawnman

  • Напреднали
  • *****
  • Публикации: 455
    • Профил
Що не качиш някъде подобен файл (толкова голям, колкото прецениш) и да се пробваме? Аз вкъщи нямам такова чудо под ръка, докато в офиса Photoshop & Illustrator безпроблемно работят с ~60 МБ-ви файлове на 256 МБ памет. Уловката е, че не е ограничена големината на виртуалната памет.
Активен

Mandriva Cooker
BlackBox

FV80503200 SL27J, 82437FX TSC, 128 (4x32) MB 72pin EDO, AHA-2940UW, ST34572W, M2513A, CDU521, CTL0024, 3C509b-TPC, 215R3PUA22, FP767-12

  • Гост
Според мен също проблема ти е хардуерен - дай малко по подробни описния на 2-та вида памети които не тръгват заедно - акои 2-те са ддр или от един тип - значи наистина проблема е в един от 2-та ти модула памет ако не и в 2-та. ли4о сум имал подобен проблем с не съвместимост на 2 памети и в краина сметка се оказа (след 2 месеца ползване) че единия модул е заминал и ми орецаква сичко - така че теставаи си модулите и хард диск и процесор и ако тестовете минат добре(в което се самнявам) ще мислим друго решение.
Активен

luda_glawa

  • Напреднали
  • *****
  • Публикации: 652
  • Distribution: Kubuntu
  • Window Manager: KDE
    • Профил
    • WWW
Според мен е софтуерен. Човека каза, че паметите не ги е слагал заедно .
Активен

С Уважение:

Luda Glawa ;-)

vic_semionov

  • Напреднали
  • *****
  • Публикации: 144
    • Профил
    • WWW
Според мене проблема си е в ядрото, и по-точно във виртуалната памет. Не знам как точно действа виртуалната памет в линукс, но съм останал с впечатление че е доста известна с неправилна употреба на swap.

По пронцип като се случи такова нещо (thrashing) - системата да прекарва повече време в суапване на памет, от колкото в потребителските програми, би трябвало ядрото временно да намали приоритета на наи-малко използваните програми и да суапне тяхната памет, за да се освободи повече RAM за тази която ползваш в момента. Но в някои случаи, ако въпросната програма иска прекалено много памет и пак не може да се вмести във RAM, и това не помага. Ако общото количество памет което програмата иска не надхвърля RAM+swap, би трябвало все някога да си свърши задачата. Може би след час, два, или повече ако трябва.

Но каквото и да е ядрото, даже и да не се налага да го рестартираш, то няма възможност да задели на една програма повече памет, от колкото съществува в компютъра (рам+суап). Затова единственият изход е да използваш друга програма, както си и направил. И аз по същата причина минах от KDE на GNOME - защото програмите са по-леки и бързи, а в много случаи по-качествени и по-малко бъгави. После и ГНОМЕ почна да ми се струва тежичко и минах на нещо още по минималистично - XFCE.

А това че системата е проектирана да използва максимално свободната памет няма нищо общо в случая. Цялата свободна памет се използва само за дискови буфери, т.е. кеш. Тези буфери се заделят от ядрото, не от userland процесите, и се заделят само в RAM, никога в swap. И при недостиг на RAM въпросните буфери се записват обратно на диска (ако се налага) и се освобождават. Само това се има предвид под "максимална употреба на свободната памет". Иначе по правило колкото по-малко памет ползва една програма, толкова по-добре.
Активен