Karp 的技术博客

今天安装 php8.3.2 遇到一个非常难受的问题.

$ make test
....

cc: internal compiler error: Killed (program cc1)
Please submit a full bug report,
with preprocessed source if appropriate.
See http://bugzilla.redhat.com/bugzilla for instructions.
make: *** [ext/opcache/jit/zend_jit.lo] Error 1

解释很简单, 我的1核1G 服务器资源不足....

所以就如标题所说, 内存不够 Swap来凑, 操作如下:

若系统内存不足,可以通过增加交换空间(swap space)来提供额外的虚拟内存。下面是在Linux系统上增加交换空间的一般步骤:

  1. 检查当前的交换空间:运行以下命令查看当前的交换空间配置:

    sudo swapon --show
  2. 创建一个用于交换的文件:使用以下命令创建一个用于交换的文件,文件大小根据你的需求而定(例如,创建一个1GB大小的交换文件):

    sudo fallocate -l 1G /swapfile
  3. 设置文件的权限:运行以下命令设置交换文件的权限,只有root用户可读写:

    sudo chmod 600 /swapfile
  4. 将文件格式化为交换空间:运行以下命令将文件格式化为交换空间:

    sudo mkswap /swapfile
  5. 启用交换空间:运行以下命令启用交换空间:

    sudo swapon /swapfile
  6. 更新/etc/fstab文件:打开/etc/fstab文件,并在文件末尾添加以下行,以便系统在启动时自动挂载交换空间:

    /swapfile none swap sw 0 0
  7. 调整交换空间的调度策略(可选):默认情况下,Linux采用交换空间的默认调度策略,但你可以根据需要进行调整。打开/etc/sysctl.conf文件,并添加以下行来调整交换空间的调度策略:

    vm.swappiness=10
  8. 生效配置更改:运行以下命令使配置更改生效:

    sudo sysctl -p

现在,你已经成功增加了交换空间。你可以再次运行 sudo swapon --show 命令来确认交换空间已经启用。

请注意,增加交换空间可以提供额外的虚拟内存,但它并不是解决长期性能问题的最佳解决方案。如果你的应用程序需要更多内存,考虑升级系统的物理内存或优化应用程序的资源使用情况。

版权属于:karp
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
更新于: 2024年06月03日 06:37
5

目录

来自 《内存不够 swap 来凑》