性能优化(内存)

个人在极客时间、工作经验、技术博客的总结。

背景

比较windows和linux的内存管理的区别

概念

地址空间

每一个32位进程都有4G的地址,其中2G内核空间,2G用户空间(linux 是1G内核,3G用户)。

这个地址空间实际是虚拟地址空间,需要通过内存映射到实际的物理内存地址

缺页异常

当进程访问的虚拟空间在页表中查询不到时,会触发缺页异常,然后进入内核空间进行分配物理空间、更新进程页表,返回用户空间,恢复进程运行。

交换分区(swap)

Swap其实就是把一块磁盘空间当作内存使用,windows xp/7 下也有专门的设置“虚拟内存”的功能。

只在物理内存不足时才需要使用磁盘作为交互区,但性能更加慢。

free 命令中buffer和cache的意义

[root@VM101124 ~]# free
              total        used        free      shared  buff/cache   available
Mem:        3880484      140028     3164964       17172      575492     3452908
Swap:       2097148           0     2097148

  • buffer:从磁盘读取数据的缓存
  • cache:从文件读取数据的页缓存

你可能感兴趣的:(工作积累,性能优化,linux,缓存)