Linux内存管理

1.理论模型

1.1Linux进程地址空间和进程的内存分布

 

2.阿里云添加swapping分区

在内存1G的阿里云服务器上,编译php源码的时候,遇到ternal compiler error: Killed (program cc1)的错误。

原因:内存不足造成的,安装时需要内存至少2G内存,1G内存如何去解决呢? 

解决方案:给服务器配置一个swap分区

2.1设置分区的命令

查看是否启用swap分区
1.查看当前系统中是否已经启用swap分区(有三种命令)
# top
top命令经常用来监控Linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解。
# free -m
查看内存使用
# cat /proc/swaps

2.2卸载swap分区

删除swapfile
如果创建了swapfile之后,想要删除,必须先执行以下命令
swapoff swapfile

再查看free -h

2.3

制作一个swapfile,注意,需要root权限
dd if=/dev/zero of=/swapfile bs=1M count=1024
count的值,请按自己的需要,依现在的理论,如果swap超过2GB,就浪费了,就算真的要分超过

格式化swapfile,同样需要root权限
mkswap /swapfile
如果使用UUID挂载方式,请记下格式化完成后程序显示的UUID值

启用交换分区,并使用命令查看内存占用情况:

swapon /swap_file
free -m

原文地址:https://www.cnblogs.com/xiaoliwaer/p/10553337.html