From: Yura Zotov <yz@altlinux.ru>
To: sisyphus@altlinux.ru
Subject: Re: [sisyphus] Статистика использования памяти
Date: Sun, 2 Nov 2003 22:03:04 +0300
Message-ID: <20031102190304.GA16869@home-pool4-91.com2com.ru> (raw)
In-Reply-To: <3FA4E811.5050107@unisoft.com.ua>
On Sun, Nov 02, 2003 at 01:18:41PM +0200, Eugene Ostapets wrote:
> Yura Zotov пишет:
> >Решил я собрать статистику использования памяти и понял, что
> >ничего не понимаю.
> >
> >Почему-то в /proc/meminfo нет параметра "использовано памяти",
> >зато есть куча других, из которых мне понятны только три
> >MemTotal, SwapTotal и SwapFree. Например сейчас показывается что
> >у меня из гигабайта свободно всего 300 мегабайт памяти, хотя все
> >запущенные приложения не могут столько занимать. При этом gkrellm
> >сообщает, что занято "на самом деле" всего 240 мегабайт. Откуда он
> >это берёт я тоже не понимаю.
> >
> >Если верить в свободные 300, то пора покупать память, если в
> >занятые 240, то не пора. Так как же это всё понимать? Как из
> >параметров в /proc/meminfo сделать правильные выводы? Где бы
> >почитать и разобраться?
> >
> >Заранее спасибо за помощь.
> >
> >--
> >Юрий А. Зотов
> >
>
> В ядра 2.4 исповедуется Сановский принцип: свободная память - потерянная
> память. Т.е. из вывода команды free:
> eugene@master ~ $ free
> total used free shared buffers cached
> Mem: 192400 187592 4808 0 9984 54948
> -/+ buffers/cache: 122660 69740
> Swap: 506008 7252 498756
>
> Размер свободной памяти явлется суммой free+cached.
Что ж, спасибо. С этим, вроде бы, разобрался. Правда, не без
помощи исходников gkrellm. Непонятность заключалась в том, что
vmstat в колонке cache показывает значение, отличное от значения
в /proc/meminfo.
/proc/meminfo:
total: used: free: shared: buffers: cached:
Mem: 1058619392 822013952 236605440 0 180596736 309510144
...
SwapCached: 29816 kB
....
Так вот, vmstat cache = cached - SwapCached. В gkrellm для
вычисления занятой памяти используют формулу (для значений в
/proc/meminfo) "использовано" = used - buffers - cached. Похоже,
что формула достаточно адекватно отражает статистику
использования памяти. Как влияет вычитание SwapCached я ещё не
определил, так как не было ситуации с активным использованием
свопа.
К тому же оказалось, что при периодическом режиме работы (с
ключом -n), vmstat показывает не
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
2 0 0 117128 226492 176444 274564 2 2 42 62 0 21 5 1 29
а
procs memory swap io system cpu
r b w swpd free inact active si so bi bo in cs us sy id
3 0 0 117128 226464 285700 479964 2 2 42 62 2 21 5 1 29
4 0 0 117128 226472 285692 479964 0 0 0 0 146994 1416 52 2 46
т.е. появляются какие-то inact и active. Кто знает, что они
значат и как их использовать для вычисления использованной
памяти? Никакой комбинации из total, free, active и inactive я не
придумал, чтобы она была равна значению из вышеприведённой
формулы. А график то хочется построить!
Значения в одноимённых полях у программ top, free и vmstat
совпадают.
--
Юрий А. Зотов
next prev parent reply other threads:[~2003-11-02 19:03 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-11-02 8:37 Yura Zotov
2003-11-02 11:18 ` Eugene Ostapets
2003-11-02 15:25 ` [sisyphus] Re: [JT] " Michael Shigorin
2003-11-02 21:13 ` Eugene Ostapets
2003-11-02 19:03 ` Yura Zotov [this message]
2003-11-02 23:24 ` [sisyphus] " Yura Zotov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20031102190304.GA16869@home-pool4-91.com2com.ru \
--to=yz@altlinux.ru \
--cc=sisyphus@altlinux.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Sisyphus discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
public-inbox-index sisyphus
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.sisyphus
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git