zoukankan      html  css  js  c++  java
  • 如何获取一个进程的内存并监控

    更多描述: 在编写脚本时,有时会出现内存过大发生 OOM 的事情,那我们如何得知某个进程的内存?另外又如何监控它

    通过 ps 可以获知一个进程所占用的内存

    $ ps -O rss -p 3506
      PID   RSS S TTY          TIME COMMAND
     3506  6984 S pts/1    00:00:00 vim

    如果要监控内存,肯定使用对进程万能的命令 pidstat (PS: 这名字一听就知道是干嘛的)

    ## -r 显示内存信息
    ## -p 指定 pid
    ## 1: 每个一秒打印一次
    $ pidstat -r -p 3506 1
    Linux 3.10.0-957.21.3.el7.x86_64 (shanyue)      11/04/19        _x86_64_        (2 CPU)
    
    20:47:35      UID       PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
    20:47:36        0      3506      0.00      0.00  139940   6984   0.18  vim
    20:47:37        0      3506      0.00      0.00  139940   6984   0.18  vim
    20:47:38        0      3506      0.00      0.00  139940   6984   0.18  vim
    20:47:39        0      3506      0.00      0.00  139940   6984   0.18  vim
    20:47:40        0      3506      0.00      0.00  139940   6984   0.18  vim
    20:47:41        0      3506      0.00      0.00  139940   6984   0.18  vim

    pidstat 是属于 sysstat 下的 linux 性能工具,但在 mac 中,如何定位内存的变化?此时可以使用万能的 top/htop

    $ htop -p 31796

    总结

    简而言之,有以下三个命令

    1. pidstat -r
    2. htop/top -p
    3. ps -O rss -p

    关于更多指标的监控可以参考我的文章: linux 各项监控指标小记

    
    
  • 相关阅读:
    indexOf--之美
    uniapp_切换主题
    ueditor调用其中的附件上传功能
    php7 编译安装 apache
    快速排序单循环
    插入排序
    走进svg
    phpstorm内网远程debug
    sass&compass&grunt
    centos7+nginx 1.9.0+php-fpm+phpstorm+xdebug+vmware开发环境搭建
  • 原文地址:https://www.cnblogs.com/magicg/p/13410861.html
Copyright © 2011-2022 走看看