个人在极客时间、工作经验、技术博客的总结。
背景
比较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:从文件读取数据的页缓存
版权归原作者 睡在床板下_ 所有, 如有侵权,请联系我们删除。