linux 内存信息_shell查看内存使用情况

linux 内存信息_shell查看内存使用情况pmaplddstace要熟悉的几个调试命令!两个查看内存的文件$cat/proc/<pid>/stat|awk'{print$23/1024}’$cat/proc/<pid>/status|grep-ivmsize其中,关于内存的是VSZ和RSS这两个概念manps看看它们的含义:rss       RSS    resident…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

pmap

ldd

stace

要熟悉的几个调试命令!

两个查看内存的文件

$ cat /proc/<pid>/stat | awk '{print $23 / 1024}'$ cat /proc/<pid>/status | grep -i vmsize

Jetbrains全家桶1年46,售后保障稳定

其中,关于内存的是 VSZ 和 RSS 这两个概念

man ps 看看它们的含义:

rss       RSS    resident set size, the non-swapped physical memory that a task has used (in kiloBytes). (alias rssize, rsz).

vsz       VSZ    virtual memory size of the process in KiB (1024-byte units). Device mappings are currently excluded; this is subject to change. (alias vsize).

观察到系统中的指定进程的地址空间分布情况显示一个目标文件或者链接库文件中的目标文件的各个段的大小。该文件从/proc//maps中获得数据。
命令格式:
pmap -x/-d  pid

 

范例:
[root@localhost security]# pmap -d 4993
4993: -bash
Address Kbytes Mode Offset Device Mapping
08047000 596 r-x– 0000000000000000 003:00006 bash bash的代码段
080dc000 28 rwx– 0000000000094000 003:00006 bash bash的数据段
080e3000 280 rwx– 00000000080e3000 000:00000 [ anon ] bash的堆
4d575000 84 r-x– 0000000000000000 003:00006 ld-2.3.4.so 共享库的代码段
4d58a000 4 r-x– 0000000000015000 003:00006 ld-2.3.4.so 共享库的数据段
4d58b000 4 rwx– 0000000000016000 003:00006 ld-2.3.4.so 共享库的堆
4d58e000 1164 r-x– 0000000000000000 003:00006 libc-2.3.4.so
4d6b1000 4 r-x– 0000000000123000 003:00006 libc-2.3.4.so
4d6b2000 12 rwx– 0000000000124000 003:00006 libc-2.3.4.so
4d6b5000 8 rwx– 000000004d6b5000 000:00000 [ anon ] 匿名物理内存,
4d6de000 8 r-x– 0000000000000000 003:00006 libdl-2.3.4.so
4d6e0000 8 rwx– 0000000000001000 003:00006 libdl-2.3.4.so
4d807000 12 r-x– 0000000000000000 003:00006 libtermcap.so.2.0.8
4d80a000 4 rwx– 0000000000002000 003:00006 libtermcap.so.2.0.8
b7bc2000 176 r-x– 0000000000000000 003:00006 GB18030.so
b7bee000 8 rwx– 000000000002b000 003:00006 GB18030.so
b7bf0000 24 r-xs- 0000000000000000 003:00006 gconv-modules.cache
b7bf6000 1060 r-x– 0000000002197000 003:00006 locale-archive
b7cff000 2048 r-x– 0000000000000000 003:00006 locale-archive
b7eff000 36 r-x– 0000000000000000 003:00006 libnss_files-2.3.4.so
b7f08000 8 rwx– 0000000000008000 003:00006 libnss_files-2.3.4.so
b7f0a000 8 rwx– 00000000b7f0a000 000:00000 [ anon ]
b7f20000 8 rwx– 00000000b7f20000 000:00000 [ anon ]
bff0d000 84 rw— 00000000bff0d000 000:00000 [ stack ]
ffffe000 4 —– 0000000000000000 000:00000 [ anon ]
mapped: 5680K writeable/private: 460K shared: 24K

每列的含义如下:
参数 解释
Address:00378000-0038d000 进程所占的地址空间
Kbytes 该虚拟段的大小
RSS 设备号(主设备:次设备)
Anon 设备的节点号,0表示没有节点与内存相对应
Locked 是否允许swapped
Mode 权限:r=read, w=write, x=execute, s=shared, p=private(copy on write)
Mapping: bash 对应的映像文件名


循环显示进程3066的设备格式的最后1行,间隔2秒,

[root@C44 ~]#  while true; do pmap -d  3066 | tail -1; sleep 2; done

mapped: 5412K    writeable/private: 2028K    shared: 0K

mapped: 5412K    writeable/private: 2028K    shared: 0K

mapped: 5412K    writeable/private: 2028K    shared: 0K

mapped: 5412K    writeable/private: 2028K    shared: 0K

mapped: 5412K    writeable/private: 2028K    shared: 0K

mapped: 5412K    writeable/private: 2028K    shared: 0K

mapped: 5412K    writeable/private: 2028K    shared: 0K

mapped: 5412K    writeable/private: 2028K    shared: 0K

mapped: 5412K    writeable/private: 2028K    shared: 0K

mapped: 5412K    writeable/private: 2028K    shared: 0K

mapped: 5412K    writeable/private: 2028K    shared: 0K

mapped: 5412K    writeable/private: 2028K    shared: 0K

mapped: 5412K    writeable/private: 2028K    shared: 0K

内存泄露脚本:

memleak.sh:

#!/bin/sh   

i=1   


until [ ! “$i” -le 10 ]   


do  


        val=$(pidof converter)


        if [ -z “$val” ]; then


        ret=$(pmap -d $val | tail -1)


        fi


        mytime=$(date “+%Y-%m-%d %H:%M:%S”)


        filetime=$(date “+%Y-%m-%d”)


        echo “[$mytime] [$ret]” >> memleak_$filetime.leak


        sleep 5


done

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/219237.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 用于重新编译的工具和命令

    用于重新编译的工具和命令

    2021年11月25日
  • A 股历年三大财务报表 API 接口「建议收藏」

    A股历年三大财务报表历年所有财报数据,全量A股数据,最全三大财报数据。1.产品功能支持所有A股全量三大财报数据查询;分别包括资产负债表、利润表、现金流量表数据;返回70多项财务指标;多数据源清洗整合,百万级数据毫秒级返回;全接口支持HTTPS(TLSv1.0/v1.1/v1.2/v1.3);全面兼容AppleATS;全国多节点CDN部署;接口极速响应,多台服务器构建API接口负载均衡。2.API文档接口详情:https://www.

  • pycharm怎么配置django环境_pycharm环境搭建

    pycharm怎么配置django环境_pycharm环境搭建用Pycharm安装配置Django框架1.打开Pycharm—–左下角—-Terminal命令行 pipinstalldjango#默认下载最新版本django框架 pipinstalldjango==1.11.8#可以下载自己所需的指定版本 pipshowdjangoversion#查看自己当前的django框架版本可能下载的途中会出现如下错…

  • 微信公众平台宣布增加接口IP白名单提高安全性

    微信公众平台宣布增加接口IP白名单提高安全性

    2021年10月12日
  • getResourceAsStream和getClassLoader

    getResourceAsStream和getClassLoader1. Class.getResourceAsStream(Stringpath):path不以’/’开头时默认是从此类所在的包下取资源,以’/’开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。 2.Class.getClassLoader.getResourceAsStream(Stringpath):默认则

  • 2014找工作总结-机会往往留给有准备的人

    转发请注明出处:http://blog.csdn.net/xiajun07061225/article/details/12844801其实我的求职过程在十一之前就已经结束了,总体讲比较顺利。参加面试的几家公司基本都拿到了offer,分别是阿里巴巴、美团网、创新工场涂鸦移动以及华为。当时也参加了其他公司的面试,比如人人,一面过后收到了二面通知,拒了。创新工场豌豆荚一面结束后等消息。十…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号