首页 > 系统相关 >性能测试之内存瓶颈问题分析与调优

性能测试之内存瓶颈问题分析与调优

时间:2024-08-05 18:27:27浏览次数:13  
标签:缓存 瓶颈 内存大小 调优 内存 外存 CPU 物理

注意:内存问题是性能分析与调优非常常见的一类问题(内存不足/内存泄露/内存溢出等)

一、内存概念:

计算机的存储系统分为主存储系统(内存) 辅助存储系统(外存)

外存 :计算机的辅助存储器,包括硬盘、软盘、光盘、网络云盘等 【输入-键盘,鼠标,输出- 屏幕,音频 视频】

内存:内存(Memory)又称主存,用于暂时存放中间态的临时数据:是外设与CPU进行沟通的桥梁

引发思考:为什么需要一个内存作为桥梁来链接CPU和外存呢? 为什么不直接设计CPU个内外直接连接交互呢?

(1) 因为外存的性能是比较差的,CPU速度非常的快,如果直接去外存获取数据,外设会拖垮CPU的性能。

(2) 所以可以理解为内存就是cpu和外设之间的缓存机制,CPU需要的数据先从外存加载到内存,提高cpu读取数据的效率和整体性能的。

二、内存和外存区别

速度不同: 内存要比外存速度快,但是比CPU要慢

容量不同: 内存一般几个G,外存一般几个T

访问权限不同:CPU只能直接访问内存;外存的东西要先到内存CPU才能处理

易失性不同:内存关机断电,数据就会全部丢失;外存数据一直都在

三、内存分析工具

1、/proc/meminfo,Linux内存总览

MemTotal:所有可用的内存大小(=物理内存 - 预留位和内核使用),所以小于物理内存
MemFree:表示系统尚未使用的内存
MemAvailable:真正的系统可用内存。这个使我们去看系统内存是否够用的重点数据。
  系统中有些内存虽然已被使用但是可以部分回收的(cache/buffer、slab)
Buffers :(缓冲)对原始磁盘块的临时存储,也就是用来缓存磁盘的数据。内核可以把分散的写集中起来,
      统一优化磁盘的写入 Cached :(缓存)从磁盘读取文件的页缓存,也就是用来缓存从文件读取的数据。下次访问这些文件数据时,
      就可以直接从内存中快速获取

2、free命令:显示当前系统未使用的和已使用的内存数目,被内核使用的内存缓冲区;

最常用的内存分析命令,包含的参数主要有:
-h: 人类方便查看的格式显示
-c: 打印的次数
-s: 打印的时间间隔
-t:显示total 这个不太会去关注

显示的结果信息: 物理内存一行,交换分区一行

used:已经使用的内存大小;
MemTotal = used + free + buff/cache
avaliable=free+部分buff/cache
shared表示共享内存大小,一般用于进程间通信 

3、top命令| htop命令: 内存相关内容,进程内存使用情况分析

这两个命令都可以查看内存和CPU相关的信息,不过top是系统自带的命令,htop不是系统自带的,要额外安装:

yum -y install htop

htop的显示结果更加详细和友好一些:

1 关键信息用不同的颜色高亮显示了;
2 然后内存也默认用M为单位显示,更加直观;
3 command: 显示具体哪个命令 详细的执行启动命令都会显示
4 最底下还有一行快捷工具栏: 比如F6[. ] 可以选择进行排序; h【F1】可以看帮助文档

其中显示的信息解释如下:
VIRT:virtual memory usage,进程占用的虚拟内存大小。
RES:resident memory usage,进程常驻内存大小,也就是实际物理内存占用情况
  一般我们看进程占用了多少内存,就是看的这个值。
SHR:shared memory,共享内存大小,不常用。
%MEM: 进程所占用的物理内存百分比

4、vmstat,用于进行系统全局分析和内存监控分析  vmstat -S M 1

memory: 总内存大小 ,包括物理内存+ 交换分区内存
    swpd:使用的虚拟内存的大小。解释:如果该值大于0,表示你的机器物理内存不足了
    free:可用的物理内存大小;如果free很少,不一定内存不足; 如果同时si/so很少,是正常的;
    buff:物理内存用来缓存读写操作的buffer大小
    cache:物理内存用来缓存进程地址空间的cache大小

swap:如果频繁写入写出,表示你的机器物理内存不足了。
    si(换入):每秒从SWAP(交换分区)读入到RAM的大小
        si>0,表明服务器需要更多内存,需要从SWAP上将内存段复制回内存,导致服务器速度变慢
        si=0,正常;长期都>0,可能存在性能问题
    so(换出):每秒从RAM写出到SWAP的大小
        so>0,并不能说明出现了内存瓶颈,写到交换分区是正常的

bi(blocks in):表示从外部设备(如磁盘)读入到内存的数据块数量。在读操作中,随着数据的读取,bi的值会增加。
这反映了系统从外部设备读取数据的活动水平。 bo(blocks out):表示从内存写出到外部设备的数据块数量。在写操作中,随着数据的写入,bo的值会增加。
这反映了系统将数据写入外部设备的活动水平。

 

标签:缓存,瓶颈,内存大小,调优,内存,外存,CPU,物理
From: https://www.cnblogs.com/xingzhifeng/p/18343748

相关文章

  • 反射内存卡的优势与特点
    特点1.高速数据传输:‌反射内存卡能够实现极高的数据传输速度,‌这是其最显著的特点之一。‌数据传输速度可达到微秒级或百纳秒级,‌大大提升了数据处理的实时性。‌这种高速传输能力使得反射内存卡非常适用于需要实时数据共享和处理的场合12。‌2.低延迟:‌反射内存卡通过纯硬件......
  • GE 反射内存卡的特点
    .高效数据处理能力:‌能够快速、‌实时地传输和处理数据,‌满足各种应用需求。‌.高度可配置性:‌支持1到8口的SFP收发器配置,‌适应不同通信距离和模式。‌.自动旁路功能:‌在检测到故障时,‌能自动旁路故障节点,‌确保网络稳定运行。‌.可扩展性:‌支持级联,‌最多可支持256个节点的网......
  • 性能测试瓶颈之CPU问题分析与调优
    一、CPU的简介CPU概念:CPU(中央处理器:CentralProcessingUnit),是一块超大规模的集成电路,是计算机的运算核心【拿到数据后先计算】和控制核心【然后再根据计算结果去控制】。功能:主要是解释计算机指令以及处理计算机软件中的数据。电脑中所有操作都由CPU负责读取指令,对指令译码并......
  • 反射内存卡应用案例
    飞机动力系统半实物仿真:在美国空军的相关应用中,涡轮发动机模型运行在RedhawkLinux软实时环境中,而转子模型则运行在Speedgoat硬实时环境里,两者之间通过反射内存卡来同步数据。通过转子动力学模型,用户能够灵活地调整发动机和发电机之间的功率与转速。特别是当有代表性的动力系......
  • 反射内存卡技术参数
    1.内存容量:‌如128MB、‌256MB、‌512MB等,‌部分高端型号可能提供更大容量。‌2.数据传输速率:‌支持高速数据传输,‌速率范围可能从几十MB/s到几百MB/s不等,‌具体取决于数据包大小和配置。‌3.接口类型:‌包括PCI、‌PCIe、‌CPCI、‌PMC等,‌支持不同的总线标准。‌4.光纤网络支......
  • 如何判断反射内存卡是否安装成功
    要判断反射内存卡是否安装成功,可以通过以下几种方法:在操作系统中查看设备管理器:Windows系统:1.按下Win+X组合键,选择“设备管理器”。在设备管理器中,查找“网络适配器”、“存储控制器”或相关的类别,看是否有与反射内存卡对应的设备显示,且没有黄色感叹号或问号等异常标......
  • Python实现简单的模型调优技术
    Python实现简单的模型调优技术一、开篇:模型调优的魅力所在1.1模型调优:不只是参数游戏1.2为什么好的模型也需要调优二、基础篇:理解模型调参的必要性2.1模型评估指标:选择合适的尺子2.2常见调参方法:从手动到自动化2.3验证集的重要性:不要让模型裸奔三、实战篇:动手......
  • C++ 动态内存管理: `std::unique_ptr
    定义与头文件std::unique_ptr的功能定义于<memory>头文件中。它主要用于管理动态分配的内存,保证资源正确释放。函数模板std::make_unique非数组类型template<classT,class...Args>unique_ptr<T>make_unique(Args&&...args);C++14起用于构造非数组类......
  • 内存交换空间--Swap Space
    转载请注明出处:一、概述内存交换空间(SwapSpace)是计算机内存的一种补充,位于硬盘驱动器上。当物理内存(RAM)不足时,系统会将不活跃的页面(或称为内存页)移到交换空间中,以释放物理内存给更需要的进程。这种方式虽然比直接从物理内存中读取数据要慢,但能有效避免系统因内存不足而崩溃。......
  • Linux系统内存管理API
    Linux系统内存管理API遵循POSIX标准的内存管理API:#include<unistd.h>​//brk和sbrk在内部维护一个指针p(void*),p指针指向当前堆内存中已经映射成功的最后一个字节的下一个地址位置void*sbrk(intptr_tincrement);功能:根据参数increment来调整p的位置,既可以映射内存,也......