lkml.org 
[lkml]   [2005]   [Jul]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectHow do you accurately determine a process' RAM usage?
    I wrote a tool to report how much RAM a
    particular program (apache for e.g.) was using:
    http://www.pixelbeat.org/scripts/ps_mem.py

    I was then pointed at the following:
    http://wiki.apache.org/spamassassin/TopSharedMemoryBug
    which describes how copy-on-write pages are
    not counted as shared since 2.6.

    So how can one determine how much RAM a process is using?
    Seems like a fundamental requirement to me.
    Could we add a "SharedTotal" column to /proc/$$/statm for e.g. ?

    Here's a little python script to demo the problem:

    #!/usr/bin/python
    import os, sys, time
    a="\x00"*(32*1024*1024) #alloc 32MiB
    pid=os.fork()
    if(not pid):
    time.sleep(1)
    sys.exit()
    sizel=map(float,open("/proc/"+str(pid)+"/statm").readlines()[0].split()[1:3])
    print "only %.1f%% reported as shared" % ((sizel[1]/sizel[0])*100)
    os.wait()

    --
    Pádraig Brady - http://www.pixelbeat.org
    --
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-07-07 00:18    [W:0.025 / U:89.448 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site