Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Kolik si bere RAM?  (Přečteno 3214 krát)

Freedom

  • Návštěvník
  • Příspěvků: 3
Kolik si bere RAM?
« kdy: 02 Ledna 2014, 21:28:56 »
Dobrý den,
jsem začínající uživatel Linuxu s předchozími zkušenostmi. :)
Nějak mě naštvalo Windows 7, tak jsem se na to už vykašlal a nainstaloval Debian - ten bohužel nějak nechtěl zkousnout ovladače wifi karty a i když jsem to zkoušel víckrát, tak se to ani jednou nepodařilo (wifi šla, ale systém ne). Tak jsem nainstaloval Kubuntu - KDE se mi víc líbí...

No, ale zpět k mému problému. Kolik by mělo (K)ubuntu používat operační paměti, při běžné práci, v klidu ...?
Mám na ploše widget "Stav paměti", který zobrazuje kolik se právě využívá z operační paměti. Nyní 300MB
Když spustím shell a napíšu příkaz "free -m" , tak ten mi ukáže: used - 842 MB ; buffer/cache - 355 MB
(Tento rozdíl se mi zdá, že asi nevznikl zaokrouhlováním a ten widget spíš než ram ukazuje ten buffer, no ale dál...)
A nakonec do třetice příkaz "top" mi sice v horní části výpisu ukazuje to samé jako "free", ale u jednotlivých procesů, když se podívám kolik procent zabírají paměti, tak to nedá dohromady ani 10 procent.

(Doplňující info: mám 2GB RAM, notebook neuspávám do paměti, tyto hodnoty jsou změřeny po restartu pouze se zapnutou příkazovou řádkou a prohlížečem Chromium, před restartem "free" ukazoval asi tak 1700MB used a dokonce se už využíval swap - práce byla ale stále plynulá)

Osobně si myslím, že těch 300-400MB by měla být taková reálná hodnota, ale ne toto... jinde zde na foru jsem našel snad něco vzdáleně podobného a tam někdo psal, jestli v tom není započítaná sdílená paměť s grafikou. Sdílenou paměť mám, nebo spíš je v mém notebooku ta možnost. V Biosu jsem žádné nastavení nenašel. Mám pocit, že grafika má vlastní paměť 128MB...

Rád bych vás tedy poprosil o zodpovězení těchto otázek:
1) Je to normální, že tolik spotřebuje? Pokud ne, tak kde by mohl být problém?
2) Co je to vlastně ten buffer/cache ... to jsem nějak nikde nenašel... vyrovnávací paměť - ale kde a čeho?
3) Offtopic: Dá se nějak jednoduše přehazovat CZ/EN klávesnice, abych nemusel psát procenta slovem procenta :)

Rover623

Re:Kolik si bere RAM?
« Odpověď #1 kdy: 02 Ledna 2014, 21:45:05 »
Při 2GB je spotřeba paměti kolem 800MB zcela normální věc, systém tu paměť dokáže velmi rychle přealokovat pokud by jí měl nedostatek.

Tohle není Windows, swap se nepoužívá jako pomalé rozšíření RAM, systém do něj ukládá i když není paměť zcela zaplněna. Obvykle věci které nevyžadují urgentní vyřízení aby paměť uvolnil.

Buffer je oblast paměti kam systém přednačítá věci, které potřebuje použít a za normálních okolností by je musel číst z disku. Velikost tohoto bloku se mění v čase podle aktuální hodnoty volné paměti.

To co vidíš příkazem top jsou jen tvoje procesy a vybrané procesy roota, ten zbytek jsou procesy prostředí a jádra.

Přepínání klávesnice se mění v nastavení klávesnice.

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re:Kolik si bere RAM?
« Odpověď #2 kdy: 02 Ledna 2014, 22:37:46 »
zagugli prosim po /proc/meminfo a podivej se, az najdes popis jednotlivych polozek, do tveho ;)
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

Freedom

  • Návštěvník
  • Příspěvků: 3
Re:Kolik si bere RAM?
« Odpověď #3 kdy: 03 Ledna 2014, 01:17:48 »
Našel jsem http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/filesystems/proc.txt

Snažil jsem se to pochopit, ale asi se nechám podat.  :-\ Ještě jsem si pro jistotu prohlídl manuál free, ale jediný výsledek je ten, že se mi z toho točí hlava :) Jediný co jsem asi pochopil, že to není jednoduše obsazená/neobsazená paměť, ale různě se ty položky sčítají/odčítají.... takže když mi to píše, že je využíváno třeba 1,5GB ze 2,0GB paměti, tak to vlastně tak není :D

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re:Kolik si bere RAM?
« Odpověď #4 kdy: 03 Ledna 2014, 01:48:57 »
Našel jsem http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/filesystems/proc.txt

Snažil jsem se to pochopit, ale asi se nechám podat.  :-\ Ještě jsem si pro jistotu prohlídl manuál free, ale jediný výsledek je ten, že se mi z toho točí hlava :) Jediný co jsem asi pochopil, že to není jednoduše obsazená/neobsazená paměť, ale různě se ty položky sčítají/odčítají.... takže když mi to píše, že je využíváno třeba 1,5GB ze 2,0GB paměti, tak to vlastně tak není :D

ale fuj ;), to se nechas podat lehko, namatkou prvni dva hity:

https://www.centos.org/docs/5/html/5.1/Deployment_Guide/s2-proc-meminfo.html
http://www.redhat.com/advice/tips/meminfo.html

u me:

Kód: [Vybrat]
> free -m
             total       used       free     shared    buffers     cached
Mem:          3954       3725        229          0        553        946
-/+ buffers/cache:       2225       1729
Swap:         4094          0       4094


> cat /proc/meminfo
MemTotal:        4049168 kB
MemFree:          225372 kB
Buffers:          567212 kB
Cached:           806404 kB
SwapCached:            0 kB
Active:          1663760 kB
Inactive:        1815896 kB
Active(anon):    1235084 kB
Inactive(anon):   873684 kB
Active(file):     428676 kB
Inactive(file):   942212 kB
Unevictable:           4 kB
Mlocked:               4 kB
SwapTotal:       4192928 kB
SwapFree:        4192928 kB
Dirty:              1696 kB
Writeback:             4 kB
AnonPages:       2106100 kB
Mapped:           111444 kB
Shmem:              2700 kB
Slab:             237560 kB
SReclaimable:     162616 kB
SUnreclaim:        74944 kB
KernelStack:        3816 kB
PageTables:        28872 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     6217512 kB
Committed_AS:    5017696 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      322616 kB
VmallocChunk:   34359372796 kB
HardwareCorrupted:     0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:     1667072 kB
DirectMap2M:     2519040 kB

takze, na leve strane mam veci z `free' a na prave z `/proc/meminfo'

total == MemTotal
used == MemTotal - MemFree ### to je dohromady pouzita pamet

^^ co je na tom tak tezkeho ? a Tve procesy vc. rezie kernelu jsou tedy:

a) slovy free: used - buffers - cached
b) slovy /proc/meminfo: MemTotal - MemFree - Buffers - Cached

^^ kdyz jsi prectes vyse uvedenou dokumentaci, tak si jiste budes umet sam napsat skript, ktery ti bude vycitat kolik Ti zere treba jen kernel rezie ;)
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

Freedom

  • Návštěvník
  • Příspěvků: 3
Re:Kolik si bere RAM?
« Odpověď #5 kdy: 03 Ledna 2014, 14:55:56 »
No konečně jsem zjistil, kde to vyčtu :)

Nakonec pomohlo:

http://www.linuxatemyram.com/
http://blog.scoutapp.com/articles/2010/10/06/determining-free-memory-on-linux
https://raw.github.com/pixelb/ps_mem/master/ps_mem.py

Neříkám, že už všechno chápu, ale tohle mi zatím stačí. Díky za pomoc.

 

Provoz zaštiťuje spolek OpenAlt.