以下配置主要针对分代垃圾回收算法而言。 一、堆大小设置 年轻代的设置很关键 JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。在Windows ...
分类:
编程语言 时间:
2018-02-28 15:17:17
阅读次数:
256
内核中alloc_pages系列页框分配函数都是基于伙伴算法实现的,这些函数最终都会调用伙伴算法的入口函数buffered_rmqueue()。 Linux内核管理物理内存有三种方式,其一就是经典的伙伴算法。但是伙伴算法分配物理内存的基本单位是页框,因此内核又引入了slab机制,基于此机制实现的物理 ...
分类:
编程语言 时间:
2018-02-28 12:54:04
阅读次数:
263
一、在很多情况下,你可能都需要得到微机的硬件信息。需要加上下面的这句话: using System.Management; 获取硬件信息,需先知道硬件参数信息: Win32_Processor, // CPU 处理器 Win32_PhysicalMemory, // 物理内存条 Win32_Keyb ...
分类:
Windows程序 时间:
2018-02-25 13:00:53
阅读次数:
1545
共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。 采用共享内存通 ...
分类:
其他好文 时间:
2018-02-25 11:31:14
阅读次数:
212
我是一名程序员,那么我在这里以一个程序员的角度来讲解Linux内存的使用。 一提到内存管理,我们头脑中闪出的两个概念,就是虚拟内存,与物理内存。这两个概念主要来自于linux内核的支持。 Linux在内存管理上份为两级,一级是线性区,类似于00c73000-00c88000,对应于虚拟内存,它实际上 ...
分类:
系统相关 时间:
2018-02-23 17:06:05
阅读次数:
200
引 言: top命令作为Linux下最常用的性能分析工具之一,可以监控、收集进程的CPU、IO、内存使用情况。比如我们可以通过top命令获得一个进程使用了多少虚拟内存(VIRT)、物理内存(RES)、共享内存(SHR)。 最近遇到一个咨询问题,某产品做性能分析需要获取进程占用物理内存的实际大小(不包 ...
分类:
系统相关 时间:
2018-02-23 11:01:17
阅读次数:
339
其中介绍了虚拟内存的机制以及mmap系统调用的实现。mmap允许直接将设备内存映射到用户进程的地址空间中。物理内存的管理,包括缓存的分配及回收,请页机制,交换空间等。 1)交换模块(swap) 这个模块负责控制内存内容的换入换出,它通过替换机制,使得物理内存的页框(RAM页)中保留有效的逻辑页,即从 ...
分类:
其他好文 时间:
2018-02-22 21:27:10
阅读次数:
214
一 物理内存和虚拟内存 我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。物理内存就是系统硬件提供的内存大小,是真正的内存,相对于物理内存,在linux下还有一个虚拟内存的概念,虚拟内存就 ...
分类:
系统相关 时间:
2018-02-22 19:51:46
阅读次数:
197
1. Linux中进程空间的分配情况如下: 从上图可以看出,进程的空间分配:与进程相关的数据结构(页表、内核栈、task) > 物理内存 > 内核代码和数据 > 用户栈 > 共享库的内存映射区 > 运行时堆 >未初始化数据段.bss > 已初始化数据段.data > 代码段.text 2. 进程的堆 ...
分类:
系统相关 时间:
2018-02-15 12:46:03
阅读次数:
365
ps aux 查看所有进程 USER 该进程由那个用户产生 PID 进程id %CPU 该进程占用CPU资源的百分比 %MEM 该进程占用物理内存的百分比 VSZ 该进程占用虚拟内存大小,单位KB RSS 该进程占用物理内存大小,单位KB TTY 该进程在那个终端运行。其中tty1-7代表本地控制台 ...
分类:
系统相关 时间:
2018-02-15 11:07:22
阅读次数:
224