zoukankan      html  css  js  c++  java
  • linux smem 查看各进程使用memory情况

    SMEM(8) SMEM(8)

    NAME
    smem - Report memory usage with shared memory divided proportionally.


    SYNOPSIS
    smem [options]


    DESCRIPTION
    smem reports physical memory usage, taking shared memory pages into account. Unshared memory is reported as the USS (Unique Set Size). Shared memory is divided evenly among the processes sharing
    that memory. The unshared memory (USS) plus a process's proportion of shared memory is reported as the PSS (Proportional Set Size). The USS and PSS only include physical memory usage. They do
    not include memory that has been swapped out to disk.

    Memory can be reported by process, by user, by mapping, or systemwide. Both text mode and graphical output are available.


    OPTIONS
    GENERAL OPTIONS
    -h, --help
    Show help.


    SOURCE DATA
    By default, smem will pull most of the data it needs from the /proc filesystem of the system it is running on. The --source option lets you used a tarred set of /proc data saved earlier, possibly
    on a different machine. The --kernel and --realmem options let you specify a couple things that smem cannot discover on its own.

    -K KERNEL, --kernel=KERNEL
    Path to an uncompressed kernel image. This lets smem include the size of the kernel's code and statically allocated data in the systemwide (-w) output. (To obtain an uncompressed image of
    a kernel on disk, you may need to build the kernel yourself, then locate file vmlinux in the source tree.)


    -R REALMEM, --realmem=REALMEM
    Amount of physical RAM. This lets smem detect the amount of memory used by firmware/hardware in the systemwide (-w) output. If provided, it will also be used as the total memory size to
    base percentages on. Example: --realmem=1024M


    -S SOURCE, --source=SOURCE
    /proc data source. This lets you specify an alternate source of the /proc data. For example, you can capture data from an embedded system using smemcap, and parse the data later on a dif‐
    ferent machine. If the --source option is not included, smem reports memory usage on the running system.


    REPORT BY
    If none of the following options are included, smem reports memory usage by process.


    -m, --mappings
    Report memory usage by mapping.


    -u, --users
    Report memory usage by user.


    -w, --system
    Report systemwide memory usage summary.


    FILTER BY
    If none of these options are included, memory usage is reported for all processes, users, or mappings. (Note: If you are running as a non-root user, and if you are not using the --source options,
    then you will only see data from processes whose /proc/ information you have access to.)


    -M MAPFILTER, --mapfilter=MAPFILTER
    Mapping filter regular expression.


    -P PROCESSFILTER, --processfilter=PROCESSFILTER
    Process filter regular expression.


    -U USERFILTER, --userfilter=USERFILTER
    User filter regular expression.


    OUTPUT FORMATTING
    -c COLUMNS, --columns=COLUMNS
    Columns to show.


    -H, --no-header
    Disable header line.


    -k, --abbreviate
    Show unit suffixes.


    -n, --numeric
    Show numeric user IDs instead of usernames.


    -p, --percent
    Show percentages.


    -r, --reverse
    Reverse sort.


    -s SORT, --sort=SORT
    Field to sort on.


    -t, --totals
    Show totals.


    OUTPUT TYPE
    These options specify graphical output styles.


    --bar=BAR
    Show bar graph.


    --pie=PIE
    Show pie graph.


    REQUIREMENTS
    smem requires:


    · Linux kernel providing 'Pss' metric in /proc/<pid>/smaps (generally 2.6.27 or newer).

    · Python 2.x (at least 2.4 or so).

    · The matplotlib library (only if you want to generate graphical charts).


    EMBEDDED USAGE
    To capture memory statistics on resource-constrained systems, the the smem source includes a utility named smemcap. smemcap captures all /proc entries required by smem and outputs them as an
    uncompressed .tar file to STDOUT. smem can analyze the output using the --source option. smemcap is small and does not require Python.

    To use smemcap:

    1. Obtain the smem source at http://selenic.com/repo/smem

    2. Compile smemcap.c for your target system.

    3. Run smemcap on the target system and save the output:
    smemcap > memorycapture.tar

    4. Copy the output to another machine and run smem on it:
    smem -S memorycapture.tar


    FILES
    /proc/$pid/cmdline

    /proc/$pid/smaps

    /proc/$pid/stat

    /proc/meminfo

    /proc/version


    RESOURCES
    Main Web Site: http://www.selenic.com/smem

    Source code repository: http://selenic.com/repo/smem

    Mailing list: http://selenic.com/mailman/listinfo/smem


    SEE ALSO
    free(1), pmap(1), proc(5), ps(1), top(1), vmstat(8)


    COPYING
    Copyright (C) 2008-2009 Matt Mackall. Free use of this software is granted under the terms of the GNU General Public License version 2 or later.


    AUTHOR
    smem was written by Matt Mackall.


    03/15/2010 SMEM(8)

  • 相关阅读:
    C#获取IP信息
    获取百度地图按条件查找的信息
    react中如何实现一个按钮的动态隐藏和显示(有效和失效)
    es6 关于map和for of的区别有哪些?
    js 高级程序设计 第四章学习笔记
    ant design Table合并单元格合并单元格怎么用?
    React中如何实现模态框每次打开都是初始界面
    前端界面布局相关整理之2017
    待改善的代码整理
    cq三期备注说明
  • 原文地址:https://www.cnblogs.com/DataArt/p/10021697.html
Copyright © 2011-2022 走看看