Ahoj, 2014/1/6 Miroslav Prýmek <m.pry...@gmail.com> > > Dne 29. prosince 2013 22:40 Dan Lukes <d...@obluda.cz> napsal(a): > > Sledovat celkove mnozstvi alokovane pameti (linearni) je problematicke pokud > > neni zatizeni toho stroej velice konstantni. > > Pro me je ted momentalne asi nejproblematictejsi se vubec vyznat v > tom, co ktery nastroj vlastne ukazuje pod jakym nazvem :) > > Napr. to ucd mi dava: > UCD-SNMP-MIB::memErrorName.0 = STRING: swap > UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 4194176 kB > UCD-SNMP-MIB::memAvailSwap.0 = INTEGER: 4194176 kB > UCD-SNMP-MIB::memTotalReal.0 = INTEGER: 8333220 kB > UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 687100 kB > UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 687100 kB > UCD-SNMP-MIB::memMinimumSwap.0 = INTEGER: 16000 kB > UCD-SNMP-MIB::memShared.0 = INTEGER: 361760 kB > UCD-SNMP-MIB::memBuffer.0 = INTEGER: 843248 kB > UCD-SNMP-MIB::memCached.0 = INTEGER: 0 kB > UCD-SNMP-MIB::memSwapError.0 = INTEGER: noError(0) > UCD-SNMP-MIB::memSwapErrorMsg.0 = STRING: > ...
> > Chtel bych se nejak dopocitat k pameti, kterou si procesy postupne > alokuji, ale nejak mi to teda z techto cisel nevychazi... > > TotalReal - AvailReal - Buffer - Shared = 8G - 0.7G - 0.8G - 0.4G =~ 6G > V top: > Mem: 327M Active, 5884M Inact, 1036M Wired, 823M Buf, 644M Free > > Kdyby tech 5.8G bylo v TotalFree, tak bych tomu rozumel - pak by cca > 200M mely dynamicky naalokovany procesy. Takhle mi to ale moc smysl > nedava... S pouzitou (takze i volnou) pameti RAM je to bohuzel slozite ve vsech beznych operacnich systemech, FreeBSD nevyjimaje. SNMP.memAvailReal / 1024 = 671 MB, coz je skoto to same co v TOPu v polozce Free. Polozka TOP.Free ti to ukazuje 644MB, coz jsou cisla dosti podobna. A to je opravdu volna pamet. SNMP.Buffered a SNMP.Shared jsou dulezite, ale to co ve vypisu SNMP nevidim je tzv. dirty pamet. Otazkou je, jestli to SNMP umi vratit Active nebo Inactive pamet. TOP ti ukazuje TOP.Active Mem 327M a TOP.Inact Mem 5884M. Ta TOP.Active i TOP.Ianactive pamet je celkove vyuzita pamet, ale TOP.Inactive (tzv.dirty) pamet se uz "dlouho" nepouziva, ale neni opravdu uvolnena a uvolnovat se nebude, protoze je to relativne "narocna" operace a pro OS k tomu neni dostatecny duvod, potoze prece ma jeste relativne dost volne pameti. Inaktivni (dirty) pamet se uvolni az to bude opravdu potreba. Kdy to bude, to resi Memory Management algoritmus, ktery spousti tzv. garbage. Takze volne pameti je opravdu jen cca 671MB, ale tu neaktivni pamet je v podstate take mozne brat jako skoro volnou, protoze ta se uvolni a pouzije jeste pred tim, nez se zacne swapovat. Proto sledovani pouzivani volne pameti a swapu, jak navrhoval Dan, je asi nejlepsim identifikatorem nedostatku fyzicke pameti. Bohuzel ti to nic nerekne o tom, jaka pamet by ti teoreticky stacila a nemuzes ocekavat velke mnozstvi volne pameti. Kdybys toto chtel, tak bys to mohl zkusit odhadnout podle trendu aktivni pameti. Shrnul bych to tak, ze OS by byl hloupy, kdyby nevyuzival tak drahy zdroj jako je pamet, takze kdyz ji ma, tak ji prote vyuzije a uvolnuje az kdyz je potreba :-) Doufam, ze jsem nic neprekroutil, vysvetlil to dostatecne. On me kdytak Dan doplni nebo opravi :-) -- David Pasek david.pa...@gmail.com, +420 602 525 736 -- FreeBSD mailing list (users-l@freebsd.cz) http://www.freebsd.cz/listserv/listinfo/users-l