Hali,
A gépben van 2G RAM.
Ebből 1.5G cache-selésre használ.
free -m
total used free shared buffers cached
Mem: 2010 1986 24 0 53 1508
Swap: 3898 1 3897
Ki lehet valahogy találni, hogy miért van szüksége ekkora cache-re (=mit cache-sel) és hogy mekkora a hit ratio?
- 2606 megtekintés
Hozzászólások
Nincs szüksége cache-re - arra a felhasználónak van szüksége, ha nem akarja feszt tekertetni a háttértárait. Ha zavar, hogy ilyen célra használja a memóriát, adott helyzetben kiveheted a gépből azt a másfelet, akkor nem fogja használni.
- A hozzászóláshoz be kell jelentkezni
ezzel a kérdésem melyik részére válaszoltál?
- A hozzászóláshoz be kell jelentkezni
Majdnem az egészre.
Hogy processz szinten ki lehet-e találni, hogy mi használ cache-t?
1. Igen és 2. nem-igen.
1. Igen, ha a program saját cache-t használ, és arról statisztikát is vezet (pl. adatbázis kezelők) - tudom, ez így csalásnak számít. :)
2. Nem-igen: mivel költséges volna processzek szintjén vezetni a sikeres/sikertelen keresést, nem csinál ilyet a kernel, hacsak a legeslegeslegfrissebbek nem. Gondolj bele, hogy hívsz egy cat-et x fájllal. A cat processz jön és megy, a statisztikája meg maradna, tök feleslegesen, a következő cat felé semmi relevanciája nem volna.
A globális hr-nek persze volna értelmes jelentése, csak értelme nem sok. Úgy értem, azon felül, hogy az ember még több memóriát tesz a gépébe, kétféleképpen hathat rá: figyel arra, hogy új fájlokat ne olvasson be, ami nem az, amit legtöbben szeretnénk; vagy összedob egy-két ramdiszket a szívének kedves fájlokkal, ami egyáltalán nem az ördögtől való gondolat, ha a bizonyos funkciók sebessége tényleg fontos.
De a jó hír: a kernel *_vma_* és/vagy *cache* függvényeit meg lehet patkolni.
- A hozzászóláshoz be kell jelentkezni
csak a ramdisk-hez tennék annyit hozzá, hogy logikusan végig gondolva talán ez az egyetlen felesleges, mivel ugye a kernel felhasználja cache-elésre a teljes lefoglalatlan memóriát, és mindig a leggyakrabban felolvasott adatot gyorsítótárazza. tehát amit a ramdisk-ben tartanánk, az úgyis bekerül a cache-be. ha meg azért szeretnénk ramdisk-et, hogy a szerintünk gyakran használt progik memóriában legyenek, attól még nem biztos hogy tényleg azok lesznek a leggyakrabban felolvasott adatok, és ráadásul feleslegesen foglalnák is a helyet a drága memóriából a többi művelet illetve adat elől.
ez az egész egy felesleges manuális gyorsítótárazás lenne, amit a kernel úgyis elvégez.
ha meg tudni, hogy egy speciális felhasználási módnál csak adott kevés számú adat olvasódik fel, ott meg ugye ha be-cache-eli a kernel, akkor ebből adódóan nem lesz más nagyon ezen kívül olyan új gyorsító tárazott adat ami ezeket felülírja.
- A hozzászóláshoz be kell jelentkezni
Hááát... ha a ramdisk felesleges, akkor a db bufferpool is az, hiszen a kernel úgyis jobban tudja... ;)
- A hozzászóláshoz be kell jelentkezni
nem is az alkalmazás szinten megvalósított cache-re gondoltam, hanem a manuálisan ramdisk-be másolt fájlokra. ráadásul ha azok módosulnak, akkor manuálisan kell visszaírnia a lemezre. :)
- A hozzászóláshoz be kell jelentkezni
Igen, lehet a ramdisket értelmetlenül is használni. De lehet pl. ramdiskre tenni a temp könyvtárakat (vagy a mysql temp táblaterét vagy mit).
- A hozzászóláshoz be kell jelentkezni
ramdisk != tmpfs
/tmp-re inkább az utóbbi javasolt.
---
Internet Memetikai Tanszék
- A hozzászóláshoz be kell jelentkezni
Arra a részére, amelyikkel rákérdeztél. A nem használt ram elvesztegetett erőforrás, ezért cache-t csinál belőle. Ha majd kell pogramnak, akkor odaadja annak.
- A hozzászóláshoz be kell jelentkezni
Olyanokat tölt be cache-be amit gyakran használsz. Pl.: programok. Így nem kell, hogy állandóan a winyóról olvassa be. (winyó sebessége mondjuk 20 és 100 MB/s, a RAM-é több GB/s)
- A hozzászóláshoz be kell jelentkezni
ez elképesztő.
tudom mi az a cache, csak azt nem tudom, hogyan tudnám megnézni, hogy melyik program (postfix? apache? más?) használja intenzíven a cache-t és milyen találati aránnyal.
- A hozzászóláshoz be kell jelentkezni
Elnézést félreértettelek.
- A hozzászóláshoz be kell jelentkezni
:)
- A hozzászóláshoz be kell jelentkezni
nem a programok használják a cache-t, hanem a kernel kezeli. ha egy nagyobb fájllal csinálsz egy ilyet:
time cat file.iso > /dev/null
akkor elsőre valószínűleg sok másodpercig tart. másodszorra már gyorsan le kell futnia, mert amit egyszer beolvas a lemezről a kernel, azt bent hagyja a cahe-ben. miért ne használná ki, ha elérhető és szabad? ha kell programnak memória, akkor a cache az ami azonnal felszabadításra kerül először.
szerk.: minél nagyobb a foglalt cache, annál jobb. ezért pl. jó sok memóriát dugva a gépbe sok lemez I/O-t lehet spórolni.
- A hozzászóláshoz be kell jelentkezni
~Dejavu érzés. Annó ezeket a képeket mutogatták Vistáról hogy nézd 1-2mb a szabad memória, a Linuxos fenegyerekek pedig fappoltak a képekre. Most hogy is van ez? :)
(Ott is cache volt a jelentős része, körülbelül ugyanez a felállás.)
- A hozzászóláshoz be kell jelentkezni
ha a nagy cache-t látván fappoltak, akkor nem fene-, hanem hülyegyerekek lehettek
- A hozzászóláshoz be kell jelentkezni
Arra fappoltak hogy az ő rendszerük nem ilyen memóriaigényes mert hogy a Vista megesz mindent... Hát ez szörnyű. :)
- A hozzászóláshoz be kell jelentkezni
akkor áll a hülyegyerek
Nem tudom, hogy úgy teszi-e, de ha a Vista úgy "eszi meg" cache-elésre a memóriát, hogy amikor az szentebb célra kell, vissza is adja, akkor a dolgát teszi.
- A hozzászóláshoz be kell jelentkezni
Nem tudom egészen, hogy volt ez a dolog, de leginkább a Vista-féle szokások alapján működő (superfetch?) technikája volt a gondjuk úgy rémlik, ami akkor is tekerte a merevlemezt, amikor az ember nem gondolta volna. Azért, hogy az esetlegesen elindítandó programot előre cache-elje.
Ill. bootot követően nem bírták kivárni a folyamatos szöszölését...
Mondjuk tapasztalatom nincs erről, mert nem használtam Vista-át. Így lehetnek tévesek az információim. :)
No meg állítólag közben csiszoltak rajta.
- A hozzászóláshoz be kell jelentkezni
Igen az volt az. Win7-ben is van, de sokkal jobban összerakott, nem látni azt a fajta üresjárati tekerést. Vista-n SP1 után szűnt meg talán? Nem vagyok benne biztos.
Nemrég volt egy felesleges Windows Server 2008 licenszem és gondoltam felrakom asztali gépre. Minden jól ment a legutolsó service packig mikor is kivették belőle a SuperFetch technológiát. Ami pedig asztali gépekre nélkülözhetetlen... vagyis .. mértékrendekkel növeli a használhatóságot.
Linux/BSD alá is jöhetne valami hasonló. Preload már valami, de ez csak bootnál tölt, képes kinyírni a GDM/KDM betöltését. Nem túl használható.
- A hozzászóláshoz be kell jelentkezni
> vagyis .. mértékrendekkel növeli a használhatóságot.
Nagyságrendnek hívják. A használhatóság mértéke pedig: igen/nem.
- A hozzászóláshoz be kell jelentkezni
Pont az. :)
(Hozzászólási lámaszűrő. Aki nem tudja értelmezni, kitalálni mire gondoltam...)
- A hozzászóláshoz be kell jelentkezni
hát, sógorasszonynál w7 van, szintén NAGY memóriahasználat szinte alapszintű processzekkel>nagyjából 7-800MB. a cache/hypersuperfetch/akármi ezen felül van, persze egyre növekvő mértékben, de szintén nem kicsi. emlékeim szerint általában az alap 7-800MB-be szoktak volt (és lehet) belekötni.
szerk.: no, most megnéztem. rosszul emlékeztem: kb. 940MB. az alap. egy szinte csak netezésre haszált notebookon. miért is?
- A hozzászóláshoz be kell jelentkezni
Véleményem szerint ez azért van mert egy 2010-2009-es operációs rendszert használsz, nem egy 1990-es évekből karbantartott homokozót. A MAC se fog kevesebbet enni. Most hogy a memóriát úgy fosták az emberekhez, 1-2 ezer forintból már lehetett venni, kétlem ez akkora gondot jelentene.
Egy mai gépen ez a mennyiség semmiség. 4gb a minimum, de már elég sűrűn van 8gb is. Van aki ezek fölé is ment, mivel lehet.
Én azt mondom hogy 4gb minimum kell a reszponzív működéshez. A reszponzív alatt nem azt kell érteni hogy szimplán gyors, hanem van hova becachelni, tud miből dolgozni BŐVEN. Van tartalék ,etc. De mivel már kb 2-3 éve is ennyivel szerelték a laptopokat... mégis ez miért lenne gond?
- A hozzászóláshoz be kell jelentkezni
ez rendben lenne. csak ott hibádzik kicsit, hogy a rendszer önfenntartásához is egyre több kell. nyilván ez a "fenntartható fejlődés" része. nem érzed, hogy belekényszerítenek? erősebb gépet veszel, hogy gyorsabban menjenek a dolgaid. ezt sokan teszik. emiatt nagyobb igényű programokat kapsz, arra hivatkozva, hogy már simán viszik a korabeli gépek. csak lassabb lesz, mint eddig. de sebaj, hiyz már olcsóbb, mint volt, vegyünk még, hogy gyorsabb legyen. és új kör, amiből - sajna - nem maradsz ki.
szerintem ez egy végtelen történet, amiben csak árnybábok és szponzorok vagyunk. szerintem.
"hanem van hova becachelni, tud miből dolgozni BŐVEN.">de ez "BŐVEN" a os felesleges növekedésével
- A hozzászóláshoz be kell jelentkezni
Nem mert ha kevesebb ram van a gépben, alapból kevesebbet eszik meg. Abban a mennyiségben már megjelenik az eldobható rész is, amit csak a felhasználói élmény érdekében eszik meg. A 8gb-s gépemen megeszik körülbelül 2gb-t. A 2gb-s gépemen 500mb körül van a fogyasztás. Memória függő.
- A hozzászóláshoz be kell jelentkezni
ok.
szerk.:
bár így utólag azért csak érdekelne, melyek azok az otthoni környezetben futó alkalmazások, folyamatok, amelyek egy 15 évvel ezelőtti átlagos merevlemezt akár többszörösen is megtöltenének, és alternatív módon van rájuk szükség, memóriamennyiség függvényében? és mindez csak a valós memóriahasználatra vonatkozik, cache/superfetch/akármi ebbe még nem számít bele. tényleg érdekel.
- A hozzászóláshoz be kell jelentkezni
Ez elég bonyolult kérdés ha mélyen belegondolsz. Régen nem volt semmiféle multimédiás igény, se többnyelvbevitel, se kibővített fájlnévkezelés, az emberek nem akartak VPS-t, megelégedtek azzal hogy működik.
Ha megfogod és lekarcsúsítod vLite-al, kis gépekre szép kis rendszereket lehet faragni.
(Windows Server 2008R2 is jó asztali gépre, csak kivették belőle a Superfetch technológiát, amit pedig szerettem volna használni. De érzésre jóval gyorsabb (nem véletlen).)
- A hozzászóláshoz be kell jelentkezni
no, most kerültem egy win7 mellé. csak ie8 3 oldallal és taskmanager/erőforrás figyelő.
az eredmény:
http://dl.dropbox.com/u/4520169/win7_ie8_memory.png
a ténylegesen használt memória 1GB, a pre az még 500MB, meg mittomén. szerinted normális egy böngészőre ténylegesen 300MB használat? hol van ettől az FF memóriaéhsége?
________________________________________
"The vision of Christ that thou dost see
Is my vision’s greatest enemy."
- A hozzászóláshoz be kell jelentkezni
csak megjegyzés, hogy a privát-tal számolj, és ne a munkakészlettel, mert ha jól gondolom ez utóbbi a virtuális mem-et hivatott jelezni, az meg egy üres epiphany is minimum 500 MB nálam érthető módon, míg a privát (amit a reszdens-ről fordítottak talán) olyan 30 MB. de nem biztos hogy jól értelmeztem a magyar fordítást. :)
- A hozzászóláshoz be kell jelentkezni
ok, nyilván, mint a htop. :) de akármelyiket nézed is, az ie 3 db megnyitott oldallal 300+MB, az egész rendszert mg írtam.
________________________________________
"The vision of Christ that thou dost see
Is my vision’s greatest enemy."
- A hozzászóláshoz be kell jelentkezni
Végigolvastam a topicot, nem rossz a téma.
Viszont szemet szúrt, hogy írtad 4 gigabyte a minimum a reszponzív működéshez. Azért kicsit ízlelgesd ezt 4GB szót, kicsit pörgesd át nyelveden. Nagyon rofl. (Tisztában vagyok a memória árakkal!)
Meg kinek mi a reszponzív. Én betöltök egy emacsot, Eclipset vagy Visual Studiot, míg hozok magamnak egy üditőt vagy kávét addig felszedi a configot meg a workspace filokat, és utána én órákig elvagyok. Talán még kelleni fog egy Firefox valamikor Googléra (meg Hupra :D), de tölheti magát percekig is akár.
Tehát nem érdekel hogy mit cachel a gép, és 3 percig egyhelyben áll míg felszed egy IDE-t.
Ha író lennék, nyilván beírnék az xinit-be egy OpenOfficet és amíg feltenném a kávét betöltene az X meg az OOo. Este meg shutdown azt kész.
Szóval relatív kinek mit jelent a reszponzív, a cache és kinek mennyi memória kell.
- A hozzászóláshoz be kell jelentkezni
1gb és 2gb is bőven elegendő volt a működéshez, addig is betöltött. A 4gb-ot úgy értem hogy minden alkalmazást elő tud tölteni, vígan cacheből rántja elő a dolgok nagy részét. Ez már bőven távol van a reszponzívtól, mondjuk úgy, kényelem.
A reszponzivítás körülbelül 500mb körül kezd necces lenni, esetleg 1gb-ba nem igazán fér bele VS + Eclipse egyszerre. :)
- A hozzászóláshoz be kell jelentkezni
egy ilyet találtam neked, én is úgy emlékeztem, hogy a cache nem fájlokat tárol, hanem gyakran felolvasott disk blokkokat.
tehát nem tudod kilistázni a mem cache-ből hogy melyek azok a fájlok, amelyek a legnagyobb cache-t foglalják, vagy éppen melyiket olvastatta fel a géped a leggyakrabban.
- A hozzászóláshoz be kell jelentkezni
ha preload-ot használsz netalántán, akkor annak a logjában lehet olvasgatni, hogy milyen cache hit-ek vannak (hajólemlékszem).
- A hozzászóláshoz be kell jelentkezni
köszi mindenkinek
- A hozzászóláshoz be kell jelentkezni
Nem válasz a kérdésre, de el lehet vele játszani: http://www.linuxinsight.com/proc_sys_vm_drop_caches.html
- A hozzászóláshoz be kell jelentkezni
"cache-elesre"
t
- A hozzászóláshoz be kell jelentkezni
(Bizonyisten mondom, nem láttam még olyan fórumot, ahol annyi korrektor volna, mint a hupon. Nem, egyáltalán nem baj ez, de nem fog ez ártani a kockafejűség misztériumának? ;)
- A hozzászóláshoz be kell jelentkezni
A szukseges cache merete a teljes cache-elheto tartalom merete :)
A cache reszt nyugodtan szamold uresnek ha megnyugtat.
hit ratio:
oprofile (kis repulo vizsga)
systemtap/kprobes (erosen pilota vizsgas)
(Lasd meg ftrace)
slabtop erdekes lehet szamodra, de nem a kerdesedre add valaszt.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni