内存性能指标
内存基础概念
先执行一下 top 命令,看结果中关于内存的相关部分
# top
其中的 VIRT、RES、SWAP 都是什么呢?
分别是下面的3个概念:
物理内存 Resident - RES
实际的内存空间 RAM
交换区 Swapped - SWAP
当物理内存不足时,操作系统会把内存中不常用的页换出到磁盘空间
当被换出的页需要被访问时,再换入到物理内存
所以交换区就是用来临时存放内存中不常用的内容的,感觉就想内存的一个小仓库
虚拟内存 Virtual - VIRT
虚拟内存 = 物理内存 + 交换区
程序操作内存时,实际就是操作虚拟内存中的地址,操作系统再负责映射到物理地址,或者交换区
快速了解内存状态
# free
主要指标
total - 物理内存总大小
used - 已经使用的物理内存大小
free - 空闲的物理内存
shared - 多个进程共享内存的大小
buffers/cached - 做为缓存的内存大小
swap - 交互空间的使用状态
关于内存的几个常见问题:
1、空闲空间少,是不是内存不够了?
其实linux中空闲的物理空间经常是很少的,和linux使用内存的思路有关
linux会尽量提高内存使用率,经常会把磁盘上的内容缓存到内存,用来加速
linux认为内存闲着也是闲着,还不如拿来做缓存
当内存不足时,linux就会释放缓存部分,让给真正需要的程序使用
2、buffer 和 cache 是什么区别?
buffer 缓存的是磁盘文件的元数据,例如文件属性、目录结构等等
cache 缓存的是真正的文件内容
3、如何判断内存真正不足?
内存不足主要有2个明显的表现
(1)持续的内存换入换出
(2)较多的主缺页中断
主缺页中断的概念:
缺页中断包含主/次缺页中断
次缺页中断,是在内存中可以找到目标页
主缺页中断,是在内存中找不到,需要到磁盘中找
所以较多的主缺页中断意味着较多的访问磁盘
可以通过 sar 命令查看指标
# sar -B 1 3
pgpgin/pgpgout 就是内存的换入换出
fault 次缺页中断
majflt 主缺页中断
vmstat 命令也可以查看一些内存信息
# vmstat 1 5
memory 部分是内存信息
si/so 是交换区的换入换出
补充技巧
执行top命令后,通常不会显示SWAP列,需要自己指定显示
在top的界面中点击‘f’,进入列编辑模式,按下字母‘p’, 会看到SWAP列被选中,然后按回车键返回top界面,SWAP列便显示出来了
CPU 性能指标
CPU性能指标可以从两方面来看:静态、动态
静态指标主要包括:
CPU的型号、主频、核数、cache等
动态指标主要包括:
CPU的平均负载状况、CPU的使用率、最耗CPU的进程有哪些?
查看静态信息:
在服务器运行过程中,一般我们比较少关注CPU的静态信息,但我们刚开始拿到一台服务器时,就会很关心静态信息了
好根据这些信息判断分配给这台服务器多大的压力等
通过 /proc/cpuinfo 文件来查看
查看动态信息:
服务器变慢时,通常会先查看下CPU的负载是否过高,如果高了,再看下是哪些进程最耗费CPU,CPU使用率也是重要指标,让我们知道CPU消耗在哪些部分
01、CPU负载状况
通过负载信息能够直观的了解到CPU的压力状况,linux会给出最近1分钟、5分钟、15分钟的平均负载值
可以通过 top 命令查看
uptime 命令更加简洁直观
查看到负载值后,怎么判断CPU的负载是否过高呢?
有一个经验型的标准:
CPU负载上限值 = CPU的核数 * 4
例如是4核CPU,那么CPU的负载最好不要超过16,否则,CPU的压力就很大了
好比一个超市,有4个收银台,如果有16个顾客在排队结账,每个窗口4个人,顾客可以接受,收银员也不会感觉压力很大
02、耗费CPU的主要进程
发现CPU负载过高后,我们肯定想知道是谁把CPU搞的这么忙
通过 top 命令查看
用 ps 命令根据CPU使用量对进程排序
# ps -aux --sort -pcpu | less
03、CPU使用率
通过 top 命令查看
还可以查看每个核的使用率状况,执行 top 后按数字1键,就可以列出每个cpu的使用率
其中有几个主要信息项
id - CPU的空闲度
us - 用户进程对CPU的使用率
sy - 系统进程对CPU的使用率
wa - IO等待情况
st - 如果系统中运行了虚拟机,此项显示虚机使用CPU的情况
Linux内存性能指标、CPU性能指标的更多相关文章
-
一键获取linux内存、cpu、磁盘IO等信息脚本编写,及其原理详解
更多linux知识,请关注公众号:一口Linux 一.脚本 今天主要分享一个shell脚本,用来获取linux系统CPU.内存.磁盘IO等信息. #!/bin/bash # 获取要监控的本地服务器IP ...
-
查看linux内存、cpu
1.查看cpu数 多核cpu,包括物理多核和逻辑多核,一台机器可能有多个cpu,每个cpu可能有多核的,多个可能包括物理多核和逻辑多核. /proc/cpuinfo 文件里记录了这些信息,以下是一个核 ...
-
linux 内存,cpu占用最高进程查询
1. 可以使用一下命令查使用内存最多的10个进程 ps -aux | sort -k4nr | head -n 10 2. 可以使用一下命令查使用CPU最多的10个进程 ps -aux | sort ...
-
【转载】Linux下查看CPU、内存占用率
不错的文章(linux系统性能监控--CPU利用率):https://blog.csdn.net/ctthuangcheng/article/details/52795477 在linux的系统维护中 ...
-
Linux内存、性能诊断中vmstat命令的详解
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存 交换情况,IO读写情况.相比top,通过vmstat可以看到 ...
-
常用Linux 服务器命令--各种性能指标命令
如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个专业的 Linux 系统管理员. 监控命令## iostat### iostat命令用来显示存储系统的 ...
-
linux性能优化cpu-01性能指标
学习性能优化的第一步,一定要了解性能指标. 性能指标是什么? 当我们看到性能指标时一定先想到“高并发”.“响应快”,这个两个指标也对应着性能优化的两个核心指标—— “吞吐率”和“低延迟”. 这两个指标 ...
-
查看linux/AIX系统内存及CPU占用百分比
1.linux下查看CPU及内存占用情况 查看内存占用百分比: [root@rusky ~]# free -m | sed -n '2p' | awk '{print "used mem i ...
-
CPU内存管理和linux内存分页机制
一.概念 物理地址(physical address)用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应.——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理 ...
随机推荐
-
Android中Fragment的两种创建方式
fragment是Activity中用户界面的一个行为或者是一部分.你可以在一个单独的Activity上把多个Fragment组合成为一个多区域的UI,并且可以在多个Activity中再使用.你可以认 ...
-
Network网络
ifconfig 查看服务器网卡名称 ethtool ethXXX 查看网卡具体信息 要测试一个网卡是否真是1000M的,最保险的说用wget测试一个对方的带宽足够大的下载地址 wget http:/ ...
-
重新想象 Windows 8.1 Store Apps (80) - 控件增强: WebView 之基本应用, POST 数据, 与 JavaScript 交互
[源码下载] 重新想象 Windows 8.1 Store Apps (80) - 控件增强: WebView 之基本应用, POST 数据, 与 JavaScript 交互 作者:webabcd 介 ...
-
js小数计算小数点后显示多位小数(转)
首先写一个demo 重现问题,我使用的是一个js在线测试环境[打开] 改写displaynum()函数 function displaynum(){var num = 22.77;alert(num ...
-
读写INI辅助类
using System.Text; using System.Runtime.InteropServices; using System; namespace Benson.INI读写 { #reg ...
-
php对数组排序代码
php对数组排序,介绍了和php,有关的知识.技巧.经验,和一些php源码等. 对数组排序 usort() 函数使用用户自定义的函数对数组排序. */ function cmp($a, $b) //用 ...
-
python基础5之装饰器
内容概要: 一.装饰器前期知识储备 1.python解释函数代码过程: python解释器从上往下顺序解释代码,碰到函数的定义代码块不会立即执行它,而是将其放在内存中,等到该函数被调用时,才执行其内部 ...
-
6.19 noip模拟题(题目及解析转自 hzwer 2014-3-15 NOIP模拟赛)
Problem 1 高级打字机(type.cpp/c/pas) [题目描述] 早苗入手了最新的高级打字机.最新款自然有着与以往不同的功能,那就是它具备撤销功能,厉害吧. 请为这种高级打字机设计一个程序 ...
-
WebView的知识
一.基本介绍 WebView是一个显示页面的组件. 二.基本使用 访问网页需要网络,所以在AndroidManifest.xml文件中添加网络权限. <uses-permission andro ...
-
游历校园 [COGS 614] [欧拉图]
Description 刷完牙洗完脸,黄黄同学就要上课去了.可是黄黄同学每次去上课时总喜欢把校园里面的每条路都走一遍,当然,黄黄同学想每条路也只走一遍.我们一般人很可能对一些地图是办不到每条路走一遍且 ...