当前位置: 首页 > wzjs >正文

厦门网站建设工作室免费做外贸网站

厦门网站建设工作室,免费做外贸网站,制作网站网页设计,旅游网站图片目录 一、引言 二、解决 第一步:查看日志,确认问题 第二步:解决方法 第一种:增加交换空间 第二种:调整内存分配策略 一、引言 简要描述问题:在跑代码时,程序突然被终止,命令行提…

目录

一、引言

二、解决

第一步:查看日志,确认问题

第二步:解决方法

第一种:增加交换空间

第二种:调整内存分配策略


一、引言

  • 简要描述问题:在跑代码时,程序突然被终止,命令行提示 "Killed"。

  • 这个问题通常是由于系统内存不足,触发了 Linux 的 OOM Killer 机制。

  • 本文将分享如何通过查看日志、增加交换空间、调整内存分配策略等方法解决这个问题。

二、解决

第一步:查看日志,确认问题

使用dmesg查看系统日志

sudo dmesg | grep -i "killed"

如果有看到 Out of memory  可以确定是内存不足的问题

第二步:解决方法

第一种:增加交换空间

什么是交换空间?

  • 交换空间是磁盘上的一块区域,当物理内存不足时,系统会将部分内存数据转移到交换空间,以腾出物理内存。

  • 虽然交换空间的速度比物理内存慢,但可以避免程序因内存不足而被终止。

如何增加交换空间?

1.创建交换文件 (大小为20G)

sudo fallocate -l 20G /swapfile_new

2.设置权限

sudo chmod 600 /swapfile_new

3.格式化为交换空间

sudo mkswap /swapfile_new

4.启用交换文件

sudo swapon /swapfile_new

5.验证交换空间

sudo swapon --show
free -h

6.永久生效

编辑/etc/fstab文件,添加以下内容

/swapfile_new none swap sw 0 0

【扩展】详细步骤

在编辑之前,最好先备份/etc/fstab文件,以防操作失误导致系统无法启动

sudo cp /etc/fstab /etc/fstab.backup

使用nano文本编辑器打开/etc/fstab文件

sudo nano /etc/fstab

添加文件交换配置(在文末添加)

/swapfile_new none swap sw 0 0

其中

  • /swapfile_new:你创建的交换文件的路径。

  • none:表示没有挂载点。

  • swap:表示文件类型为交换空间。

  • sw:表示挂载选项为 swap

  • 0 0:表示不进行文件系统检查和备份。

验证/etc/fstab文件(检查是否有语法错误)

sudo mount -a

如果没有错误提示,则说明文件编辑成功

第二种:调整内存分配策略

当系统内存不足时,Linux 内核会通过 OOM Killer 终止占用内存最多的进程。为了避免这种情况,可以通过调整内存分配策略来优化系统的内存管理。

具体来说,可以通过修改以下两个内核参数来实现:

  1. vm.overcommit_memory:控制系统的内存分配策略。

  2. vm.overcommit_ratio:定义允许分配的内存总量。

参数说明

vm.overcommit_memory

  • 0(默认值):启发式超额分配。

    • 系统会尝试估算可用内存,并根据一定的策略决定是否允许内存分配。

    • 如果系统认为内存不足,可能会拒绝某些内存分配请求。

  • 1:总是允许超额分配。

    • 系统总是允许内存分配,即使当前内存不足。

    • 这可能会导致系统在内存耗尽时触发 OOM Killer 来终止进程。

  • 2:禁止超额分配。

    • 系统会拒绝超过一定比例的内存分配请求,比例由 overcommit_ratio 决定。

    • 允许分配的内存总量为:物理内存 × overcommit_ratio% + 交换空间

vm.overcommit_ratio

  • 当 vm.overcommit_memory=2 时,定义系统允许分配的内存总量。

  • 默认值通常是 50(即 50%)。

如何调整参数?

临时调整(重启后失效)【建议】

sudo sysctl vm.overcommit_memory=2

sudo sysctl vm.overcommit_ratio=98

注:参数值根据情况进行设定

永久调整(重启后依旧生效)

如果你希望调整后的参数在系统重启后依然生效,可以编辑 /etc/sysctl.conf 文件

打开 /etc/sysctl.conf 文件:

sudo nano /etc/sysctl.conf

在文件末尾添加以下内容:

vm.overcommit_memory=2
vm.overcommit_ratio=98

保存并退出编辑器

运行以下命令使配置生效:

sudo sysctl -p

验证参数是否生效

cat /proc/sys/vm/overcommit_memory
cat /proc/sys/vm/overcommit_ratio

http://www.dtcms.com/wzjs/545862.html

相关文章:

  • 定制型网站 成功案例wordpress开发优势
  • 都有什么公司需要网站建设外网登录 wordpress
  • 英文 网站 字体上门做网站哪里有
  • 宁波建设行业招聘信息网站微网站特效
  • 可以做英文纵横字谜的网站今天出入深圳最新规定
  • 什么网站发布建设标准微信 wordpress php7
  • 镇江网站建设流程wordpress在线报名
  • 学校网站 功能个人如何建网站
  • 二级栏目网站搜索推广方案
  • 做知识内容的网站与app企业网站有哪些内容
  • 南京知名网站建设公司用html5做的简单的网站
  • 个人网站创意flash制作技巧
  • 网站建设 大公司排名网站认证费怎么做分录
  • 如何入侵网站服务器怎么免费注册网站
  • 企业做网站电话约见客户的对话怎么用wordpress做企业网站
  • 营销网站分为哪几种游戏开发和软件开发哪个难
  • 青岛网站开发企业大连ui设计
  • 网站备案个人信息郑州做网站易云巢
  • 网站建设成立领导小组网站建设专家选哪家
  • 北京网站设计开发公司岳阳网红
  • 网站开发软件开发WordPress不支持大数据
  • wordpress图片备份seo原创工具
  • 建网站报价明细表网站域名解析怎么做
  • wordpress怎么给别人建站怎么做自己的网站平台
  • 搭建网站开发网站环境海口建设网站建设
  • 家教中介网站开发芜湖市建设工程质监站网站
  • 杭州萧山网站建设公司常州天宁区建设局网站
  • 深圳网络优化推广公司长沙seo平台
  • 高端网站建设公司有必要做吗360网站收录提交入口
  • 甘肃省建设工程安全质量监督管理局网站官网视频源网站怎么做