内存监控命令

2023-10-29


一:内存大小查看
    1、free -m (m为单位,MB)【静态查看】
    
    total        #总内存
    used        #已经使用了的
    free        #空闲的
    shared        #共享
    buffers        #缓冲区
    cached        #缓存区
    -/+buffers/cache        #当内存不足时,会将buffer和cache拿过来用,也就是说,可以当做为free
    
    2、vmstat 【动态查看】
    
    swpd        #有多少物理内存被切换到swap空间,单位为kb
    free        #空间物理内存的数量,单位为kb
    buffers        #文件缓冲
    cache        #文件缓存
    so            #写到swap空间中的数据量,单位kb
    si            #从swap中写回内存的数据量,单位kb
    bo            #从内存中换出到swap中的数据块
    bi            #从swap中换入到内存中的数据块
    
    3、datat
        1、datat是一个用来替换vmstat,iostat,netstat,nfsstat和ifstat这些命令的工具
        2、与sysstat相比,dastat拥有一个彩色的界面,在手动观察性能状况时,数据比较显眼容易观察
        3、dastat支持即时刷新,譬如输入dstat 3,即每三秒收集一次,但最新的数据会每秒刷新显示
        4、dastat也可以收集指定的性能只有,譬如dastat -c即显示CPU的使用情况
        
二:内存监控工具----valgrind(主要用来监控c或者c++)
    1、valgrind是一个提供程序调试及性能分析的工具集其中,最为常见的是memcheck,用来检查程序的内存使用情况
    2、下载地址:
        http://valgrind.org/downloads/valgrind-3.3.0.tar.bz2
        或者:
        yum install valgrind
        
    3、写一个内存泄漏的脚本
        1、下图为例,保存为memory_leak.c


       //free(fuffer); //free the memory      关闭内存释放

         2、由于是C语言脚本,需要编译
            gcc -o ml memory_leak.c
        3、运行
            ./ml
            
    4、valgrind --tool=memcheck --leak-check=full ./ml
        ml为可执行文件,使用上述命令可以监控到ml可执行程序是否存在内存泄漏
        
        
三:虚拟内存内存参数调整
    1、运行命令,查看内核中的虚拟内存参数
        sysctl -a | grep vm
    
    2、对系统性能影响比较大的几个参数
        sysctl -w vm.swappiness=60            
        sysctl -w vm.dirty_background_ratio=10
        sysctl -w vm,dirty_ratio=20
        
    3、swap分区的使用比率
        
        sysctl -w vm.swappiness=10
        
        1、如发现系统对于swap的使用极少,可以将值设置为0。这并不会禁止对swap的使用,而是使系统对于swap的写入尽可能的少,同时尽可能多的使用实际内存。这对于在切换应用程序时有着巨大的作用,因为这样的话,他们是在物理内存而非swap分区中
        2、如果想永久改变这一值,将更改保存在/etc/sysctl.conf文件中
        
    4、用于回写内存中的脏数据到硬盘(此命令专门针对整个内存空间)
    
        脏数据:CPU调用内存的数据后,发生了改变的数据,称为脏数据
    
        sysctl -w vm.dirty_background_ratio=10
        
        1、说明如果内存中的脏数据达到总内存的百分之10时,那么pdflush线程就会启动,将内存中的脏数据写回硬盘,这个值可适当调高,可获得更快的写入速度,因为调高了,可以减少脏数据写回磁盘的频率,如果wa比较高切内存还有空余,可以尝试调高这个值,充分利用内存,降低CPU等待磁盘的时间。
        2、如果想永久改变这一值,将更改保存在/etc/sysctl.conf文件中
        
    5、当内存里面的缓存应用到20%,通过I/O写到文件里(此命令专门针对应用的缓存,针对buffers写到磁盘的频率)
        
        sysctl -w vm,dirty_ratio=20
        
        1、如果想永久改变这一值,将更改保存在/etc/sysctl.conf文件中

四、内存瓶颈分析
    1、一般至少有10%可用内存,内存使用率可接受上限为85%(行业规范,通用的)
    2、当空闲内存变少时,系统开始频繁的调动磁盘页面文件,空闲内存过小可能是内存不足或内存泄漏引起的,需要根据系统实际情况监控分析
        

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

内存监控命令 的相关文章

  • 如何处理公共异常处理

    一般而言为了使我们的代码更容易维护 会创建一个类集中处理异常 该异常类可以创建在公共工程中 创建例如 ControllerAdvice public class BaseExceptionHandler 异常处理 param e retur
  • Unity角色控制器CharacterController的简单介绍

    角色控制器 CharacterController 首先 角色控制器没有碰撞效果 这是和刚体的区别 不像刚体可以给其力 如果想使人物移动 直接复制官方文本中的CharacterController下的Move 方法 前台添加 Charact
  • 【Linux】网络设置之基础操作命令详解

    大家好 本篇文章主要讲的是Linux网络设置之基础操作命令详解 感兴趣的同学快来看一看吧 对你有用的话记得收藏起来 方便下次浏览 查看网络配置 查看网络接口信息 ifconfig 查看活动的网络接口设备 1 ifconfig 网卡名称 查看
  • 深度学习之前馈神经网络的入门学习(我觉得是全网最详细的)

    前馈神经网络 Feedforward Neural Network 是一种最基本的人工神经网络模型 它也被称为多层感知器 Multilayer Perceptron MLP 在前馈神经网络中 信息只能在输入层向前传递到输出层 不存在反馈连接
  • PG 数据库锁表问题

    转载文章 若有侵权还请联系 PG 数据库锁表问题解决方案 查询pg数据库锁表的语句和进程 通过进程pid杀掉进程进行批量表解锁 pg锁表解决办法 Fly L的博客 CSDN博客 查询锁表语句和 pid select pid query fr
  • p5js创意自画像

    实验要求 编程语言与工具 编程可以用p5 processing 若想用其他语言或工具 提前向老师说明情况 作品 一件编程创意作品 必须实现动态效果或交互效果 作品录制一段一分钟内的视频 作品可以是具象化地描绘自己的形象 也可以是任何形式表现
  • 2018人工智能应用例子_汇总贴

    大数据分析 e20180621 大数据统计分析 国家审计局 老鼠仓 利用职务便利 操作证券基金 转载于 https www cnblogs com 2010dream p 9218773 html
  • antlr4 Verilog2001.g4

    verilog which antlr4 antlr4 aliased to java Xmx500M cp usr local lib antlr 4 9 complete jar CLASSPATH org antlr v4 Tool
  • 子shell的理解

    创建子shell 在当前shell 使用bash 命令即可创建子shell程序 在子shell上还可以继续创建子shell 例子 使用命令 ps f 查看进程信息 程序运行后就是进程 它可以反应程序运行的状态信息 user1 localho
  • k8s.io/client-go@v0.20.2/tools/cache/reflector.go:167: Failed to watch *v1beta1.Ingress: failed to l

    原因 kubectl version v1 22 不再支持v1beta1 所以要解决这个问题需要把ingress nginx 换成最新的版本 1 0 0
  • Android10填坑适配指南,实际经验代码,持续补充

    Android10填坑适配指南 包含实际经验代码 绝不照搬翻译文档 1 Region Op相关异常 java lang IllegalArgumentException Invalid Region Op only INTERSECT an
  • HCIP datacom 821、831题库

    全部黄色底纹为错误题 绿色 全部绿色字体为正确题 关于OSPF缺省路由描述错误的是 由于OSPF路由的分级管理 Type5 7缺省路由的优先级高于Type3路由 OSPF的Router LSA中 如果其Link Type为1 则该LSA描述
  • 几行命令完成docker多网站的部署(wordpress和dedecms)

    建设目标 利用docker技术快速搭建wordpress和dedecms 完成多域名的部署工作 操作时间评估 20分钟 主要部署内容 php7 nginx myssql wordpress dedecms 主要操作过程 几个命令行 安装环境
  • IDEA学习JDBC编程连接MySQL

    IDEA连接数据库可以有两种方式 1 通过Database建立连接 连接成功后可以直接操作数据库 需要注意的是MySQL 8 版本的Driver与之前的有所不同 com mysql cj jdbc Driver 还有一点就是时区问题 全球标
  • 爽啊爽啊爽

    致五个月的兄弟连兄弟姐妹 我们来兄弟连干什么 写程序写程序 写程序 上课的时候干什么 写程序写程序 写程序 下课的时候干什么 写程序写程序 写程序 宿舍的时候干什么 写程序写程序 写程序 开心的时候干什么 写程序写程序 写程序 伤心的时候干
  • URP教务系统自动登录

    文章目录 验证码 获取验证码图片 识别验证码内容 图片降噪处理 自动登录 爬取需要的数据 这篇博客是我对 hack 进学校教务系统的一个过程总结 详细代码已经放在GitHub上 需要的自取 URP教务系统自动登录脚本 验证码 打开网站 ht

随机推荐

  • 内存管理408

    文章目录 一 内存管理概念 1 内存管理概念 1 1 内存管理的基本原理与要求 1 2 逻辑地址与物理地址 1 3 进程的内存映像 1 4 内存保护 1 5 内存共享 2 覆盖与交换 2 1 覆盖 2 2 交换 3 连续分配管理方式 3 1
  • 解决vue-router-active无效问题

    设置的样式中 path为 的icon始终被设置了active样式 解决办法 由于router link to的每个路由首部都存在 因此都可以激活默认路由 这也是为什么当path为 的时候始终有active样式 甚至出现了当点击其他tab按键
  • vue+element-ui+vuex实现 面包屑 + Tag多标签切换功能

    参考网址 https www cnblogs com qdhxhz p 12590324 html 建议 亲测可用 把上一篇文章一起看 从左侧菜单栏看起就不会乱了
  • java居然也能实现简单斗地主功能

    出于无聊 就想着斗地主能否通过java程序来写 后面思考了下确实可以实现 目前只实现了发牌的功能 出牌和智能出牌的代码尚未写 有兴趣的朋友可以和我一起试试看 具体代码还比较简单 具体代码如下 package com xinwei oms i
  • 2023华为OD机试真题-单词倒序(JAVA、Python、C++)

    题目描述 输入单行英文句子 里面包含英文字母 空格以及 三种标点符号 请将句子内每个单词进行倒序 并输出倒序后的语句 输入描述 输入字符串S S的长度1 N 100 输出描述 输出逆序后的字符串 补充说明 标点符号左右的空格 0 单词间空格
  • COM学习笔记8_IDispatch (调度接口) 自动化

    一般的通讯方式 客户 lt gt COM vbtl 接口 lt gt COM组件 自动化通讯方式 客户 自动化控制器 lt gt IDispatch Invoke lt gt 调度接口 或vbtl接口 lt gt 实现IDispatch接口
  • springboot整合shiro完整配置

    springboot整合shiro完整配置 springboot整合shiro的maven依赖 springboot版本为2 1 7 shiro版本为1 5 3
  • 实验四 手写数字识别的神经网络算法设计与实现

    一 实验目的 通过学习BP神经网络技术 对手写数字进行识别 基于结构的识别法及模板匹配法来提高识别率 二 实验器材 PC机 matlab软件 三 实验内容 按照BP神经网络设计方法选用两层BP网络 构造训练样本集 并构成训练所需的输入矢量和
  • 求凹多边形的视觉中心,不是质心、重心

    思路都是google上找的 思路1 效果不是很好 勉强可以 reference http stackoverflow com questions 25495560 how can i find the best place to fit a
  • linux使用mail命令发送像模像样的邮件

    代码功能 发出带标题 正文 收件人 抄送收件人和附件的邮件 代码如下 mail content mail content cur time 邮件正文存储文件 attachment attacnment cur time 附件 uuencod
  • redux 时间旅行,你值得拥有!

    啥叫时间旅行 顾名思义 就是可以随时穿越到以前和未来 让应用程序切换到任意时间的状态 我们都知道 一般应用状态都很复杂 创建 维护 修改和弄明白有哪些行为会影响状态都不是一件容易的事儿 redux 的解决方案 整个应用的 state 被储存
  • Jenkins安装配置及插件安装使用

    目录 一 Jenkins安装 Windows下安装 Linux Ubuntu下安装 二 Jenkins配置及插件安装使用简介 插件安装 在线安装 离线安装 账户安全配置 三 Jenkins的环境变量说明 四 Jenkins使用 五 构建 六
  • WDS1期第12课 字符设备驱动 7 async异步通知用户空间 驱动代码的kill_fasync函数通知用户的signal函数 fcntl

    前面的query interrupt poll都需要用户程序去主动去读或查询 async异步通知 可以由驱动程序主动去通知用户程序中断的到来 信号也可以通知TASK INTERRUPTIBLE的进程 SIGKILL可以杀掉任何进程 就是传说
  • 最小二乘法-圆拟合(不啰嗦)

    原理 原理部分网上大部分可以搜得到 以一句很简单的话就是是通过最小化误差的平方和找到一组数据的最佳函数匹配 自行百度 作用 如果现在有一张图片 需要你拟合图片中的圆 需要拟合的圆图片 方法 最小二乘法拟合 原理自行百度 代码 主代码 cle
  • println给ajax数据,ajax写好了,后台out.print();拿不到数据,给看看

    汪汪一只猫 function getdata var num cur num val ajax url updateCountWx action type POST dataType json data total num cache fa
  • Debian10以镜像为本地源

    文章目录 1 临时挂载重启失效 2 永久挂载 1 临时挂载重启失效 查看镜像是否连接 创建挂载目录 mkdir mnt cdrom0 挂载 临时挂载 mount dev sr0 mnt cdrom0 修改本地源配置文件 vim etc ap
  • 【STM32WB55 测评】BLE demo程序执行过程浅析

    转自http bbs eeworld com cn thread 1077830 1 1 html 编译了 BLE p2pServer 这个工程以后 我就可以用GDB进行跟踪调试了 跟踪跟踪 姑且看看这个软件框架是什么样的 不作详细分析了
  • OPENGL学习(四)GLUT三维图像绘制

    文章目录 1 绘制一个旋转的立方体 普通视角变换 2 绘制一个旋转的立方体 透视视角变化 3 画两个旋转方向不同的立方体 对于三维目标来说 最主要的就是有坐标变换问题 也就是说有视角问题 1 绘制一个旋转的立方体 普通视角变换 下面这个程序
  • 【云原生之Docker实战】使用Docker部署Taskcafe项目管理工具

    云原生之Docker实战 使用Docker部署Taskcafe项目管理工具 一 Taskcafe介绍 1 Taskcafe简介 2 Taskcafe功能 二 检查宿主机系统版本 三 检查本地docker环境 1 检查docker服务状态 2
  • 内存监控命令

    一 内存大小查看 1 free m m为单位 MB 静态查看 total 总内存 used 已经使用了的 free 空闲的 shared 共享 buffers 缓冲区 cached 缓存区 buffers cache 当内存不足时 会将bu