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

推荐订阅源

云风的 BLOG
云风的 BLOG
Blog — PlanetScale
Blog — PlanetScale
博客园 - 【当耐特】
博客园_首页
The GitHub Blog
The GitHub Blog
月光博客
月光博客
Hugging Face - Blog
Hugging Face - Blog
有赞技术团队
有赞技术团队
博客园 - 三生石上(FineUI控件)
D
Docker
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Apple Machine Learning Research
Apple Machine Learning Research
Vercel News
Vercel News
酷 壳 – CoolShell
酷 壳 – CoolShell
雷峰网
雷峰网
小众软件
小众软件
I
InfoQ
A
About on SuperTechFans
T
The Blog of Author Tim Ferriss
S
SegmentFault 最新的问题
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - Franky

轶哥博客

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