惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
云风的 BLOG
云风的 BLOG
Microsoft Security Blog
Microsoft Security Blog
WordPress大学
WordPress大学
GbyAI
GbyAI
C
Check Point Blog
M
MIT News - Artificial intelligence
T
The Blog of Author Tim Ferriss
Jina AI
Jina AI
博客园 - 【当耐特】
U
Unit 42
月光博客
月光博客
腾讯CDC
Y
Y Combinator Blog
小众软件
小众软件
博客园_首页
Last Week in AI
Last Week in AI
酷 壳 – CoolShell
酷 壳 – CoolShell
The GitHub Blog
The GitHub Blog
博客园 - 聂微东
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MongoDB | Blog
MongoDB | Blog
博客园 - Franky
T
Tailwind CSS Blog

轶哥博客

blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog
blog
2021-02-19 · via 轶哥博客

编译程序的时候可能出现aarch64-linux-gnu-gcc: internal compiler error: Killed (program cc1)类似的报错。这是由于内存不足引起的。可以通过开启Swap分区解决。开启swap,即使用一部分硬盘作为虚拟内存,解决内存容量不足的情况。

此文仅作简单整理,每个命令详细资料请另行查阅。

开启Swap

Ubuntu/CentOS/Debian等常规发行版

dd if=/dev/zero of=/swapfile count=2048 bs=1M
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

count=2048表示创建 2048个1M的文件块。bs是块的大小。同理,如果要创建 4G 虚拟内存,count=4096

虚拟内存一般创建为物理内存的2倍。可根据实际需要调整。

如果只是临时用一下,最后一行不要执行。

Raspberry 树莓派

sudo swapoff /var/swap
sudo rm -rf /var/swap
sudo vim /etc/dphys-swapfile

CONF_SWAPSIZE 的值修改成你想要的大小,单位是MB

重启swapfile管理服务即可:

sudo /etc/init.d/dphys-swapfile restart

查看当前生效的Swap大小

free -mh

freemh.png

htop

htop.png

合理调整swappiness参数

swapiness参数表明系统中内存与swa分区的数据交换次数。如果数值是0,那么内核会仅仅在必要的情况下才会把数据写入swap分区;如果值是100,内核会尽量多地把数据写入swap分区,使内存有更多的空闲空间。

查看swappiness数值

cat /proc/sys/vm/swappiness

对于服务器来说,该值最好小于7,以确保良好的性能。

对于非服务器,60也没问题,只是应用性能会受到硬盘IO性能的影响。

临时调整

sudo sysctl vm.swappiness=10

永久调整

sudo vim /etc/sysctl.conf

在文件中添加: vm.swappiness=10