Chinaunix

标题: 关于svmon监测内存的疑问 [打印本页]

作者: ask_1055    时间: 2008-08-29 15:35
标题: 关于svmon监测内存的疑问
# svmon -G
               size      inuse       free        pin    virtual
memory       491520     447726      43794      88314     504612
pg space     524288     216653

               work       pers       clnt
pin           88314          0          0
in use       361246       4537      81943

这里memory的大小是491520*4k......,可以理解!

# svmon -P -t 2|more

-------------------------------------------------------------------------------
     Pid Command          Inuse      Pin     Pgsp  Virtual 64-bit Mthrd  16MB
  643260 java           2674724     7637   950690  2718361      Y     Y     N

    Vsid      Esid Type Description              PSize  Inuse   Pin Pgsp Virtual
   3e9f6         - work mmap source                  s  59422     0 20807 59978
   179c3        11 work text data BSS heap           s  38618     0 16796 45994
   14522  70000001 work default shmat/mmap           s   9147     0 12338 12800

那么这里Inuse单位是什么。。大小是怎么计算的。。。怎么算都不对。。。困惑。。。

顺便问下有没有更好的每个进程内存使用情况的监控命令啊,最好是具体的内存使用大小,不是使用率。。。先谢过了。。

[ 本帖最后由 ask_1055 于 2008-8-29 15:46 编辑 ]
作者: chalylau    时间: 2008-08-29 15:38
关注。。
作者: fck    时间: 2008-08-29 15:59
4K
作者: ask_1055    时间: 2008-08-29 16:03
标题: 回复 #3 fck 的帖子
如果是4K的话,2674724*4K/1024=10448.140625M,有10个G多。。内存+PS总共都没这么多啊,这只是一个进程。。。
作者: fck    时间: 2008-08-29 16:39
也许是累计的?
作者: chalylau    时间: 2008-08-29 17:37
原帖由 ask_1055 于 2008-8-29 16:03 发表
如果是4K的话,2674724*4K/1024=10448.140625M,有10个G多。。内存+PS总共都没这么多啊,这只是一个进程。。。

我看应该是1k
作者: tyrone.dev    时间: 2008-08-29 18:20
4K PageSpace上有950690个页面,另外的在物理内存中。
作者: panhaizhou    时间: 2008-08-29 19:44
關注
作者: fck    时间: 2008-08-29 22:59
原帖由 tyrone.dev 于 2008-8-29 18:20 发表
4K PageSpace上有950690个页面,另外的在物理内存中。

能否详细说一下,举个例子?
作者: meilixueshan    时间: 2008-08-29 23:52
这个输出也太BT了
inuse的单位是4K
难不成时bug
作者: ask_1055    时间: 2008-09-01 09:44
有没有确切点的,请高手指点
作者: runtime    时间: 2008-09-01 10:07
MAN里的说明
Inuse Indicates the total number of pages of PageSize in real memory in segments that are used by the
user.
作者: tianyue01    时间: 2008-09-01 10:22
59422+38618+9147+... 也应等于2674724,
LZ没有都列出来,但最大的才59422,可能验算不回去。
如那样的话,是BUG.
作者: tyrone.dev    时间: 2008-09-01 12:55
一般java应用会指定-Xmx的大小的。不会超过最大堆的大小的。svmon -P 看看每个分段的大小的总和是否和Inused差不多。
作者: tyrone.dev    时间: 2008-09-01 13:18
inused 是指所占的物理内存页面。Pgsp是指占用的pagespace页面,都是以4K为单位。怎么会这么大,的确是很奇怪,都大于svmon -G的值了。如果都如楼主所说,那说不定就是BUG了。
作者: ask_1055    时间: 2008-09-01 14:25
本来是想找一条监测进程使用内存的命令,,现在不知道如何计算,很费解。。。哪位还有更方便直观的命令吗?最好不是内存使用百分比的。。。
作者: tyrone.dev    时间: 2008-09-01 14:29
这应当是最准的了,ps aux可以看到%分比
作者: taoye    时间: 2008-09-01 23:39
原帖由 runtime 于 2008-9-1 10:07 发表
MAN里的说明
Inuse Indicates the total number of pages of PageSize in real memory in segments that are used by the
user.

man里面还有这句:
If processes owned by this user use pages of a size other than the base 4KB page size, these statistics are followed by the distribution between the different page sizes.
数目有出入会不会跟这个有关
作者: tyrone.dev    时间: 2008-09-02 04:37
不会的,如果页是64K,16M,16G时他是分开显示的。会显示多行。
作者: ask_1055    时间: 2008-09-02 16:04
找到以前一个帖子,说是累积的,,不清楚怎么累积
http://bbs.chinaunix.net/viewthread.php?tid=927784
作者: yddll    时间: 2008-09-02 21:17
看了一下man page

Global Report里面对inuse的说明是:
inuse
    Number of frames containing pages
    Note:
    On a system where a reserved pool is defined (such as the 16 MB page pool), this value includes the frames reserved for any of these reserved pools.


而Processes Report里面对Inuse的解释为:
Inuse
    Indicates the total number of pages in real memory in segments that are used by the process.

[ 本帖最后由 yddll 于 2008-9-2 21:26 编辑 ]
作者: osdba    时间: 2008-09-03 00:56
我也遇到过这种问题,最后确认看进程的内存还是用ps v <pid>命令看比较准确,如果想看全部的内存情况用svmon比较合适。估计是svmon看进程的内存时,重复计算了内存。svmon -P 可以看到所以进程得内存,你会发现把所以进程占用的内存加起来会大于总内存,这显然是错误得。所以我觉得,按进程看内存一定用ps命令看。
作者: ask_1055    时间: 2008-09-03 11:32
标题: 回复 #22 osdba 的帖子
ps v <pid>命令看出来还是百分比的状况,好像svmon -V (command)可以看,客户需要监测的是java进程。。。这里的Inuse应该就是实际所用的内存吧。。68710*4/1024=268M左右,比较符合,但不是很确定。。。。。希望能和大家一起来探讨下:wink:

# svmon -C java |more

===============================================================================
Command                              Inuse      Pin     Pgsp  Virtual
java                                 68710     7616    43401    90499

...............................................................................
SYSTEM segments                      Inuse      Pin     Pgsp  Virtual
                                      7896     7594     5536    13366

    Vsid      Esid Type Description              PSize  Inuse   Pin Pgsp Virtual
       0         0 work kernel                       s   7695  7536 3799 11463
    c8cf         - work                              s    164    58   42   199
    8024  9ffffffe work shared library               s     27     0   22    31
    2001  9ffffffd work shared library               s     10     0 1673  1673

...............................................................................
EXCLUSIVE segments                   Inuse      Pin     Pgsp  Virtual
                                     58274       22    37607    70541

    Vsid      Esid Type Description              PSize  Inuse   Pin Pgsp Virtual
   3cb76         - work mmap source                  s  31757     0 13324 32444
   249fb        11 work text data BSS heap           s  17490     0 11768 24868
   ....
   ....
   ....
   c4ae         - pers large file /dev/lv00:1968576 s      0     0    -     -

...............................................................................
SHARED segments                      Inuse      Pin     Pgsp  Virtual
                                      2540        0      258     6592

    Vsid      Esid Type Description              PSize  Inuse   Pin Pgsp Virtual
    30a0  90000000 work shared library text          s   2456     0   58  6369
   2a17d  90020014 work shared library               s     75     0  200   223
   2417a  9fffffff clnt USLA text,/dev/hd2:2165      s      9     0    -     -
作者: doudalun    时间: 2008-09-03 13:51
svmon其中的 size 列报告了 RAM 的大小,单位是大小为 4k 的页面。其中的 inuse 列报告了进程所使用的 RAM 中的页面数,加上属于一个已终止的进程但仍位于 RAM 中的持久页面的数目。其中的 free 列报告了空闲列表中页面的数目。其中的 pin 列报告了物理内存 (RAM) 中固定的页面数。固定的页面不能被调出。

ps gv | head -n 1; ps gv | egrep -v "RSS" | sort +6b -7 -n -r 看各个进程使用内存情况
作者: ask_1055    时间: 2008-09-04 10:20
标题: 回复 #24 doudalun 的帖子
谢谢,,应该可以理解为累积吧?
命令到时试下




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2