Linux, totální zaseknutí při zaplnění paměti
Ahoj, dost mi vadí na linuxu jedna věc a chci poradit, jak ten problém odstranit.
Nevím přesně, jak se situace stane, ale bude to jedna z možností:
- buď se zaplní RAM (kopíruju velký soubor do /tmp), swap nemám
- zaplní se video RAM (když mám otevřeno víc oken s videem - buď youtubu v chromiumu a/nebo v smplayeru - obojí akcelerovaně přes vdpau), kompozitor v xfce mám zapnutý
Pro zajímavost mám 128 MB VRAM, teď mám normálně 57-65 MB zaplněno, otevřen jen prohlížeč.. Video 1280x720 (v smpleyer)zvýsí zatížení na 105-119 a fullhd na 126.
Následek: začne blikat šíleně dioda HDD a xfce tray plugin sledující IO je na 100%, oprazovka se zasekne, reaguje jen na pohyb myši (a to zpomaleně)
a otázka je tedy jaká?
jsem rad, ze nejsem jedinny kdo nenasel otazku, nehlede na to, ze by me zajimalo jak na tohle prisel:
no mně hlavně docela pobavilo, že má vypnutý swap a podle jeho slov mu dochází paměť a nějak není schopen pobrat, že to spolu souvisí.
jj, presne tak, pokud mu dojde pamet, je to preci uplne normalni stav, od toho tam ten swap preci je.
"chci poradit, jak ten problém odstranit." . Dotaz bez otazníků se nepočítá?
Na začátek dodám, že mám 4GB RAM a SSD.
Samozřejmě vím, že artefakt jménem swap existuje. Na windows jsem ho taky nepoužíval a fungovalo to. Jenže tam když docházela paměť, tak prostě vyskočilo okno, že dochází paměť a že program se nespustí (nebo v horším případě spadl program). Jenže tady se zasekne celý systém, začne hučet větrák a není možnost, jak předem katastrofu odvrátit. Snad se na mě nebudete dívat skrz prsty, když zmiňuji windows( někteří linuxáci to nemají rádi), ale v tomhle ohledu se má linux co učit. Není snad vlastností linuxu bezpečnost a stabililita. Nebo existuje nějaké parametr v sysctl, který určí chování při nedostatku paměti?
Použil jsem slovo artefakt, možná moc silně. Důvodem pro averzi k swapu je to, že mám 4GB paměti, málokdy využité (pravda je, že i na windows jsem používal ramdisk pro pohodlnější manipulaci se soubory, na linuxu je to jen pohodlnější). Předsavte si např. photoshop, když si otevřu velký obrázek, který se vážně do 4GB RAM nevejde, pak asi swap představuje dobré řešení pro (jednotný způsob) alokace prostoru než dočasné soubory. Je to tak nějak?
Ještě mám dotaz k tmpfs : když jsem si to dělal (ramdisk na windows), tak měl samozřejmě pevnou velikost. Jak tu funguje na linuxu ? Dá se nastavit pevná, minimální, maximální velikost?
S tím souvisí další dotaz: fstab nemám, odkud se tedy bere /tmp ? co ho vytváří, s jakými parametry (příkaz mount|grep tmpfs znám)? (možná otázka působí vtipně)
Vrátím se k swapu: když si v sysctl vhodně nastavím "vm.{vfs_cache_pressure,swappines,laptop_mode}", tak nastavím swapování jen když to bude potřeba a )
Díky za odpovědění všech začátečníckých otázek
já to vidím tak, že ty jako správce toho stroje se máš co učit. Linux není hračka pro děti a Linux je stabilní tak, jak moc jej jeho admin učiní. BTW, Linux je jen jádro, a to je rockstable. Pokud máš na mysli GNU/Linux, tak i tam bych řekl, že stabilita je extrémní. Pokud jsi měl na mysli nějakou umatlanou distribuci, tak tam záleží na tom, co máš za distro, co jsi zvolil za balíčky a v neposlední řadě jak je to nastaveno.
já vím, prosém o s(c)hovívavost. Ale mám takovou vlastnost, že na techniku/mobil/foťák mám trochu vyšší nároky, než někteří lidi chápou (myslím teď bfu)
Mám manjaro linux, vychází z archu. Plánuji přejít na kubuntu, netrunner, arch, sabayon, gentoo, nebo fedoru nebo exherbo(to je vtip).
Linux mám asi půl roku a naopak chci ty tehcnickédistribuce. Na manjaru mi vadí pár věcí- xfce není uplně UI friendly, bluetooth jde napůl, blbne správce archivů pamac a po startu se coredumpne pnmixer. A bug pnmixer/alsa s nefunkčností unmute je kapitola pro sebe.(mute jde ok)
Proto bych se ještě bez ohledu na přechozí přiznání rád zeptal na distribuci( třeba teď se mi zničehonic na 2s zatuh PC kompletně) ,které je nejmodernější, výhradně 64bitová, rolling release, mající ty nejnovější vlastnosti linuxu (systemd, openrc,upstart,...) bez žádného balastu zajišťující kompatibilitu s pentiem 4.Mám čipovou sadu 965, Core2Duo T8300.
nejmodernější je bezesporu Gentoo (resp. na něm postavených sabayon apod.) - to je distro pro vrtaly a early adopters jak dělané, ale chce to studovat dokumentaci a být připraven na neustálé (a někdy i drastické) změny.
Jinak na gentoo byly/jsou skvělé rc skripty (síť a spol.), tomu se nic aktuálně ani neblíží. Ale udržovat to v chodu mě už přestalo bavit.
edit: linux na desktopu jsem nikdy moc nechápal, je tam trošku moc bordel
V jakém smyslu skvělé? Prý byly jednoduché na editaci ale složité na údržbu a neuměly paralelizaci?
Mno, když máš vyšší nároky, proč používáš XFCE a ne něco pořádného, KDE nebo Gnome? Jestli plánuješ přechod, doporučuji Fedoru, na té jedu také a furt a i v práci jsem to nařídil a ani to někteří nezpozorovali, že už nemají Widle. Dřív jsem měl Mandrivu, ale další vývoj zcela zdechl (ruská Rosa je nepoužitelná). Komunitní Mageia vypadá nadějně, zatím jsem jí nezkoušel. K/Ubuntu je ne zrovna dobře konfigurovatelná distribuce, avšak vhodná pro začátečníky a někoho, kdo nechce do ničeho moc vrtat.
Jestli chceš nejnovější vlastnosti Linuxu, musíš si ho postavit sám (hlavně zkompilovat jádro na míru). Distribuce jsou všechny určitou dobu pozadu.
IMHO 64 bitové verze ještě nejsou to pravé ořechové, nejsou všechny aplikace v 64bitové verzi a 31 můžou dělat problémy.
Rozhodně swap nevypínej.
Jak si prisiel na to ze to suvisi s RAM? Ak mas 4GB tak mas RAM dostatok aj bez swapu (a pri nedostatku RAM skape ten kto tu RAM chcel a nedostal, zvycajne aplikacia. Win je v tomto uplne stejny)
A to vyuzitie VRAM to je tak trochu sa mi zda nezmysel ptz v 2D mode by sa VRAM mala vyuzivat len ako framebuffer a to je povedzme 4MB a konec. Mozes otvorit aj milion programov a furt bude len 4MB framebuffer vo VRAM. Odkial beres tie hodnoty?
Neviem presne v com je u teba ten problem, to je skor na googlenie a testovanie u teba, ja skor tipujem ze tam mas nejaky HW problem. Alebo nejaky dost divny linux. Budes muset to skumat lepsie (tym sa mysli uplne do hlbky az na uroven zdrojakov a meneni nastaveni) alebo googlit alebo sa vybodnut na to, nemyslim si ze by ti niekto takto sfleku napisal cim to je.
píše, že používá tmpfs, což je v podstatě dynamický ramdisk (sice ne tak vyčuraně geniální jak na Amize, ale přece jen dynamický).
Tak potom si za to moze sam ked skape ramdisk a defakto nejaky kernel filesystem driver tak by som sa moc nedivil ze to dalej nefunguje. Nech si urobi ramdisk s pevnou velkostou napr 0,5-1GB apod.
Ale s tou VRAM sa mi nezda to co pisal, vseobecne vobec sa mi zda divne ze sa zaobera s VRAM a co tym vobec sleduje.
mám xfce 4.10 s kompozitorem zapnutým, nvidia 8400M GS, manjaro linux 3.8.8.1-MANJARO
aktuálně tedy žere 107, mám otevřené 2 prohlížeče a 2x youtube. Nejnížš jsem se dostal tak na 24-40.
příkaz na zjištění paměti je nvidia-settings -tq [gpu:0]/UsedDedicatedGPUMemory
např: Attribute 'TotalDedicatedGPUMemory' (dell:0[gpu:0]): 128.
Attribute 'TotalDedicatedGPUMemory' (dell:0[gpu:0]): 128.
'TotalDedicatedGPUMemory' is an integer attribute.
'TotalDedicatedGPUMemory' is a read-only attribute.
'TotalDedicatedGPUMemory' can use the following target types: GPU.
Attribute 'UsedDedicatedGPUMemory' (dell:0[gpu:0]): 107.
'UsedDedicatedGPUMemory' is an integer attribute.
'UsedDedicatedGPUMemory' is a read-only attribute.
'UsedDedicatedGPUMemory' can use the following target types: GPU.
a odkud vzniknce ten ramdisk na /tmp?
Tak potom pouzivas nejake physX alebo HW urychlovanie prehravania alebo openGL 3D veci (3D efekty) na plochu apod., inac by to tu pamat nemohlo obsadit.
VRAM nemusis riesit vobec on si to managuje sam ovladac. Ked mas problemy s velkostou VRAM tak nepouzivaj HW urychlovanie prehravania, physX, HW urychlovane 3D hovadiny (efekty plochy), apod.
To ale urcite nesouvisi s video RAM.
Ohledne zaplneni RAMky pri pouzivani dynamickeho RAMdisku nevim, to jsem nikdy nepouzival.
ano, psal jsem ,že používám vdpau.
vyzkouším ještě příkaz `export __GL_SYNC_TO_VBLANK=1`
co dělá příkaz export? uloží proměnnou na trvalo? kde se pak takto uložené proměnné nacházejí?
export nastaví globální proměnnou, ale samozřejmě ne natrvalo, pouze do restartu.
ked ty si taky srandista co chce pouzivat vsetko na nejakom 10rocnom krame. Jeden chcel nalozit 3tony piesku na trabant a trabant sa polamal.