Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

内存 free/top/pmap

  • free -h 显示内存使用情况

    • 这些信息都来自于文件/proc/meminfo
    • 单位:
      • 默认是 KB
      • 如果加上参数
        • -m 就是 MB
        • -h 就是 GB(推荐加上!)
    • 其他参数
      • -s 3 表示3秒刷新一次
    • 例子 | total | used | free | shared | buffer/cache | available -| -------------: | ------: | -----: | --------: | -------------: | -------: Mem: | 3944 | 2515 | 320 | 138 | 1108 | 1024 Swap: | 8191 | 389 | 7802
    • 意义
        • Mem 表示 内存状况
        • Swap 表示 交换空间状况
      • Mem列
        • total 表示 总可用
        • used 表示 已使用
        • buffer/cache 表示 缓冲区占用
        • shared 表示 被共享部分
        • 区分两个概念
          • free
            • 表示 真实有多少可用
          • available
            • 表示 (在应用程序视角上)极限有多少可用
              • 若free告罄,则可以从 buffer/cache 处补充
              • 所以 available 接近 free + 部分buffer + 部分cache
      • Swap列
        • 是磁盘上的一块区域
        • 当物理内存吃紧时
          • 会把内存中不常访问的数据放到里面
          • 这样就实现了更多的虚拟内存(用时间换空间)
          • 需要访问时,再取出到内存中
        • 可能会影响系统性能
          • 如果自觉内存够用,可以修改/etc/sysctl.conf文件
            vm.swappiness=10
            
            这里取值默认60,可取范围0-100
            • 0代表尽可能不要放到Swap
            • 100代表尽量放到Swap
  • top 监控系统资源的使用排名

    • 更好的替代品: htop (好用多了)
    • 使用方式
      • 直接输入 top 回车 进入页面

      • 排序型按键

        • shift + M 按下后,会按照 内存使用量 排序
        • shift + N 按下后,会按照 PID从高到低 排序
        • shift + P 按下后,会按照 CPU使用量 排序
        • shift + T 按下后,会按照 CPU使用累计时间 排序
      • 对于排序的列

        • x按下后会 高亮 排序的列
      • 切换型按键

        • shift + > 按下后,会切到下一页
        • shift + < 按下后,会切到上一页
      • 信息型按键

        • m按下后,会显示 内存数量
          • 再按一下或两下,会显示百分比条
          • 再按会隐藏
        • u按下后,可输入USER名筛选
          • 输入postgres,回车,可显示数据库USER的进程
          • 什么都不输,回车,默认全部显示
        • c按下后,会显示 最后一列的命令详情
      • 设置型按键

        • z 按下后,会用红色标注(比白色舒服一点点?)
        • f 按下后,会出现新面板
          • *开头的代表会显示的列,可以按空格取消其显示
          • 设置好后,q按下可返回
    • 输出含义
      • 第一行:
        • 当前时间
        • 系统已运行时长
        • 当前登录的用户数
        • 系统平均负载,三个数字分别是
          • 最近1分钟
          • 最近5分钟
          • 最近15分钟
          • 通常这个数字是0.x,如果超过2,代表系统繁忙
  • pmap -d PID值 命令

    • 作用: 查看某一进程的 “内存详细使用情况”
    • 使用方式
      • 通过top命令找到pid号,填充输入