码迷,mamicode.com
首页 > 系统相关 > 详细

Linux性能之内存篇

时间:2019-09-21 19:17:47      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:转换   扫描   默认   image   alt   linux操作系统   关闭   的区别   速度   

 

  内存分为两种: 【虚存】和【实存】

  程序员控制进程开辟的内存空间为 虚拟内存空间。

  实际上,进程的物理内存空间只受操作系统控制。

  通过top看到, 虚拟地址空间---VIRT

          实际物理内存---RES

技术图片

 

 

 

  • 虚拟内存  和  实际物理内存之间,是通过内存映射建立关联关系
  • 为了完成内存映射, 系统为每个进程维护了一个  【页表】,记录【虚拟地址】和【实际物理地址】的关系
  • 管理的页表位于CPU的MMU上,由TLB(转换检测缓冲区)管理

 

技术图片

 

 

内存缓存:

  linux上缓存分为buffer,cache

  buffer 是用于读写磁盘缓存, cache是用于读写文件缓存

  

  磁盘和文件系统的区别: 

    磁盘是linux上的一个块设备,也是linux操作系统上一个大的块文件设备。

    文件系统:文件系统依托于磁盘,即磁盘是文件系统的载体。

  因为linux上一切皆文件,所以默认情况下,cache的缓存空间大于buffer

 

 

系统内存不够用怎么办?

  1.   回收缓存【ps:正在用的缓存页不回收, 脏页数据写入到磁盘中后回收】。

  2.   置换不常用的页空间到磁盘中【即swap发生作用,回收掉文件内存 or 匿名页】。

  3.   oom机制,杀死系统中占用内存大的进程。

 

为什么java应用系统一般建议关闭swap空间? 不关闭如何处理?

  java应用由于jvm的GC会扫描所有堆内存空间进行回收。若swap将引用的堆置换到了磁盘中,则会降低GC速度,影响到系统性能

  如果不关闭swap空间,可以将swap发生的权重设置swapness=0,再将swap发生时的内存空间设置大。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

技术图片

 

Linux性能之内存篇

标签:转换   扫描   默认   image   alt   linux操作系统   关闭   的区别   速度   

原文地址:https://www.cnblogs.com/climbMonkey/p/11563932.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!