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

LINUX 解决系统卡死:扩大内存交换分区

        最近电脑总是卡住,让我很是苦恼。运行程序时发现可能是内存占满之后导致界面卡住。下面是在我16G内存的电脑上折腾的过程与结果:

  • 查看当前的交换内存大小free -m(单位:-m选项表示以兆字节(MB)为单位显示内存使用量)
              total        used        free      shared  buff/cache   available
Mem:           *         *         *         *         *        *
Swap:          2047           0        2047
  • 在Linux系统中,/proc/swaps文件是一个虚拟文件,用于显示当前系统上的交换分区(swap partition)和交换文件(swap file)的信息。你可以使用以下命令查看/proc/swaps文件的内容:

  • cat /proc/swaps 注意,/proc目录下的文件和文件夹都是虚拟文件系统,它们提供了对内核和系统信息的访问。因此,/proc/swaps文件实际上并不是一个真正的文件,而是通过内核动态生成的。

  • 该文件的内容包含了每个交换设备的详细信息,每行对应一个交换设备。每行的字段如下: Filename:交换设备的路径或文件名。Type:交换设备的类型,可以是"partition"(分区)或"file"(文件)。Size:交换设备的大小。Used:已使用的交换空间大小。Priority:交换设备的优先级。如果系统没有启用交换分区或交换文件,则/proc/swaps文件将为空。

  • 关闭交换分区 sudo swapoff 上一步输出的Filename

  • 创建一个swapfile文件 sudo dd if=/dev/zero of=swapfile bs=1024 count=10000000 ,其大小为 bs x count = 1024 × 10000000 = 10G

这是一个使用 dd 命令创建交换文件(swap file)的命令。解释如下:
dd: 是一个用于复制和转换文件的命令。
if=/dev/zero: if 表示输入文件,这里指定为 /dev/zero,它是一个特殊的设备文件,读取该文件会返回无限个零字节。
of=swapfile: of 表示输出文件,这里指定为 swapfile,即要创建的交换文件的名称。
bs=1024: bs 表示块大小(block size),这里设置为 1024 字节,表示每次读取和写入的数据块大小为 1024 字节。
count=10000000: count 表示要复制的块数,这里设置为 10000000,表示要复制 10000000 个块,即总共创建一个大小为 10GB 的交换文件。
综上所述,该命令的作用是以超级用户权限创建一个名为 swapfile 的交换文件,文件大小为 10GB。交换文件在某些情况下可以用作虚拟内存的扩展,用于处理系统内存不足的情况。
  • sudo chmod 600 ./swapfile

  • sudo mkswap -f ./swapfile

  • sudo swapon ./swapfile

  • 经过以上的操作,已经可以正常使用swap内存了,但是每次重启电脑,之前的配置都会消失

  • 可通过修改 /etc/fstab进行持久化

CG

        感觉这操作有点像deepspeed的zero offload,不过还是挺管用的,感觉比减小make时的线程数靠谱。对于同一个问题,还是要多找解决方案的好。

  • 参考:https://masterhu.blog.csdn.net/article/details/104856865

相关文章:

LINUX 解决系统卡死:扩大内存交换分区

最近电脑总是卡住,让我很是苦恼。运行程序时发现可能是内存占满之后导致界面卡住。下面是在我16G内存的电脑上折腾的过程与结果: 查看当前的交换内存大小free -m(单位:-m选项表示以兆字节(MB)为单位显示内…...

Vue项目Nginx代理F5刷新出现404问题解决

一.背景 项目用户反馈,F5刷新后,浏览器出现404。最近公司加强网络管理,我记得之前可以刷新,有点怀疑是跟加强网络管理有关。具体原因没有时间去深度跟踪,先百度找到了解决方法,记录一下。 二.解决办法 主…...

关于MybatisPlus自动转化驼峰命名规则配置mapUnderscoreToCamelCase的个人测试和总结

关于MybatisPlus自动转化驼峰命名规则配置mapUnderscoreToCamelCase的个人测试和总结 测试一:没有添加 自动转化的配置,且domain中的属性名称和数据库的字段名称一致测试二:没有添加自动转化配置i,domain属性名userPassword和数据…...

css中的BFC

定义 BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。 涉及概念 box Box 是 CSS 布局的对象…...

音视频类App广告变现如何破局,最大化广告变现收益,让应用增收?

音视频App已然成为了我们日常获取、发布和交换信息的重要方式,在音视频行业不断的拓展中,用户的渗透率提升。 据数据显示,我国网络视听用户的规模已达9亿人次,网民使用率也突破了90%。庞大的市场规模和用户需求吸引了大批开发者和…...

基于llama-index对embedding模型进行微调

QA对话目前是大语言模型的一大应用场景,在QA对话中,由于大语言模型信息的滞后性以及不包含业务知识的特点,我们经常需要外挂知识库来协助大模型解决一些问题。在外挂知识库的过程中,embedding模型的召回效果直接影响到大模型的回答…...

如何本地搭建FastDFS文件服务器并实现远程访问【内网穿透】

文章目录 前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx 2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.…...

spring基于Xml管理bean---Ioc依赖注入:对象类型属性赋值(2)----内部bean的引入(bean和bean之间的引入)、(3)级联方式注入

bean创建对象类型赋值方式 第一&#xff1a;外部bean的引入 第二&#xff1a;内部bean的引入 第三&#xff1a;级联属性赋值 文章目录 bean创建对象类型赋值方式对象类型内部bean赋值代码分析总结 对象类型属性级联方式的赋值扩展知识 对象类型内部bean赋值 代码分析 <b…...

Python电能质量扰动信号分类(二)基于CNN模型的一维信号分类

目录 前言 1 电能质量数据集制作与加载 1.1 导入数据 1.2 制作数据集 2 CNN-2D分类模型和训练、评估 2.1 定义CNN-2d分类模型 2.2 定义模型参数 2.3 模型结构 2.4 模型训练 2.5 模型评估 3 CNN-1D分类模型和训练、评估 3.1 定义CNN-1d分类模型 3.2 定义模型参数 …...

如何解决报错:Another app is currently holding yum lock?

在运行yum 相关命令的时候&#xff0c;不知道怎么回事无法进行下载安装&#xff0c;报出 Another app is currently holding the yum lock; waiting for it to exit... 的错误提示。 Another app is currently holding the yum lock. 意思是另外一个应用正在锁住进程锁。 …...

electron使用electron-builder进行MacOS的 打包、签名、公证、上架、自动更新

一、前言 由于electron在macOS下的坑太多&#xff0c;本文不可能把所有的问题都列出来&#xff0c;也不可能把所有的解决方案贴出来&#xff1b;本文也不太会讲解每一个配置点为什么要这么设置的原因&#xff0c;因为有些点我也说不清&#xff0c;我尽可能会说明的。所以&…...

RAD Studio 12 安装激活说明及常见问题

目录 RAD Studio 安装说明 RAD Studio 最新的修补程序更新 RAD Studio 产品相关信息 Embarcadero 产品在线注册步骤 单机版授权产品注册注意事项 Embarcadero 产品离线注册步骤 Embarcadero 产品安装次数查询 Embarcadero 序号注册次数限制 EDN账号 - 查询授权序号、下…...

JavaScript实现视频共享

1.视频共享webrtc-master index.html <!DOCTYPE html> <html> <head><script typetext/javascript srchttps://cdn.scaledrone.com/scaledrone.min.js></script><meta charset"utf-8"><meta name"viewport" cont…...

uniapp框架——vue3+uniFilePicker+fastapi实现文件上传(搭建ai项目第二步)

文章目录 ⭐前言&#x1f496; 小程序系列文章 ⭐uni-file-picker 组件&#x1f496; 绑定事件&#x1f496; uploadFile api&#x1f496; 自定义上传 ⭐后端fastapi定义上传接口⭐uniapp开启本地请求代理devServer⭐前后端联调⭐总结⭐结束 ⭐前言 大家好&#xff0c;我是ym…...

一篇文章带你入门PHP魔术方法

PHP魔术方法 PHP 中的"魔术方法"是一组特殊的方法&#xff0c;它们在特定情况下自动被调用。这些方法的名称都是以两个下划线&#xff08;__&#xff09;开头。魔术方法提供了一种方式来执行各种高级编程技巧&#xff0c;使得对象的行为可以更加灵活和强大。以下是一…...

【数据库系统概论】第6章-关系数据库理论

真别看吧&#xff0c;抄ppt而已啊 文章目录 6.1 引言6.2 规范化6.2.1 函数依赖6.2.2 码6.2.3 范式&#xff08;Normal Form&#xff09;6.2.4 BC范式6.2.5 规范化小结 6.1 引言 我们有这样一张表&#xff1a; but 为啥这样设计呢&#xff1f;由此引出怎样设计一个关系数据库…...

算法设计与分析实验报告-贪心算法

校课程的简单实验报告。 算法设计与分析实验报告-递归与分治策略 算法设计与分析实验报告-动态规划算法 算法设计与分析实验报告-贪心算法 dijkstra迪杰斯特拉算法&#xff08;邻接表法&#xff09; 算法设计与分析实验报告-回溯法 算法设计与分析实验报告-分支限界法 …...

Unity读取服务器声音文件

Unity读取服务器声音文件 功能1.在网站的根目录放置一个声音文件Alarm01.wav&#xff08;这个是window系统自带的找不到这个格式的可以直接在C盘搜索&#xff09;2.在WebManager.cs脚本中添加clipPath、audio、m_downloadClip属性和DownloadSound&#xff08;&#xff09;函数&…...

掌握ElasticSearch(一):Elasticsearch安装与配置、Kibana安装

文章目录 〇、简介1.Elasticsearch简介2.典型业务场景3.数据采集工具4.名词解释 一、安装1.使用docker(1)创建虚拟网络(2)Elasticsearch安装步骤 2.使用压缩包 二、配置1.目录介绍2.配置文件介绍3.elasticsearch.yml节点配置4.jvm.options堆配置 二、可视化工具Kibana1.介绍2.安…...

《剑指offer》Java版--13.机器人的运动范围(BFS)

剑指offer原题13:机器人的运动范围 地上有一个m行n列的方格。一个机器人从坐标(0,0)的格子开始移动&#xff0c;它每次可以向左、右、上、下移动一格&#xff0c;但不能进入行坐标和列坐标的数位之和大于k的格子。例如&#xff0c;当k为18时,机器人能够进入方格(35,37),因为353…...

别再只盯着效率了!DCDC降压芯片选型,这5个‘隐形’参数才是关键

别再只盯着效率了&#xff01;DCDC降压芯片选型&#xff0c;这5个‘隐形’参数才是关键 在电源设计领域&#xff0c;工程师们往往过于关注DCDC降压芯片的效率、输入输出电压范围等基础参数&#xff0c;却忽略了那些真正影响系统长期稳定性和用户体验的"隐形"特性。这…...

Excalidraw架构图AI分析:基于MCP协议实现草图智能解析与转换

1. 项目概述&#xff1a;当白板工具遇上AI架构师 如果你和我一样&#xff0c;经常在白板上画架构图、流程图&#xff0c;然后花大量时间整理成规范的文档&#xff0c;那你一定会对这个项目感兴趣。 excalidraw-architect-mcp 不是一个独立的应用&#xff0c;而是一个 MCP&a…...

RocketMQ 5.1.1 Topic管理:从创建到删除,一份完整的mqadmin命令行实战手册

RocketMQ 5.1.1 Topic全生命周期管理实战指南 接手一个新的RocketMQ集群时&#xff0c;Topic管理往往是日常运维中最频繁的操作之一。不同于简单的命令堆砌&#xff0c;本文将带您深入理解Topic从创建到销毁的完整生命周期&#xff0c;通过真实生产环境中的典型场景&#xff0c…...

Adafruit退货政策全解析:电子元件退货的核心逻辑与实操指南

1. 退货政策的核心逻辑与适用场景 在创客圈和电子爱好者社群里&#xff0c;Adafruit 几乎是无人不晓的名字。无论是 Arduino 开发板、各种传感器&#xff0c;还是炫目的 NeoPixel LED 灯带&#xff0c;他们的产品是无数项目从想法变为现实的基石。但即便是最资深的玩家&#xf…...

别再自己编译了!Ubuntu 18.04下用apt一键安装Intel RealSense D435i驱动(附避坑指南)

告别编译烦恼&#xff1a;Ubuntu 18.04下Intel RealSense D435i驱动一键安装全攻略 在计算机视觉和机器人开发领域&#xff0c;Intel RealSense系列深度相机因其出色的性能和相对亲民的价格&#xff0c;成为了许多开发者的首选硬件。然而&#xff0c;对于初次在Linux系统下配置…...

PTA数据结构实战:层次遍历巧解二叉树叶结点输出

1. 从问题理解到解题思路 第一次看到PTA上这道二叉树题目时&#xff0c;我也被题目描述唬住了。题目要求按从上到下、从左到右的顺序输出所有叶结点&#xff0c;这不就是典型的层次遍历&#xff08;BFS&#xff09;应用场景吗&#xff1f;但仔细分析输入格式后&#xff0c;我发…...

Cadence Allegro PCB设计效率提升:自定义快捷键配置全攻略

1. 项目概述&#xff1a;为什么我们需要自定义快捷键&#xff1f;如果你是一名电子工程师&#xff0c;或者正在使用Cadence Allegro进行PCB设计&#xff0c;那么“效率”这个词对你来说一定不陌生。每天&#xff0c;我们都要在Allegro的复杂菜单和工具栏中穿梭&#xff0c;点击…...

海洋AI工具集seait:从数据处理到模型部署的工程实践指南

1. 项目概述&#xff1a;一个面向“海洋”的AI工具集最近在GitHub上闲逛&#xff0c;发现了一个挺有意思的项目&#xff0c;叫seait。第一眼看到这个名字&#xff0c;我下意识地把它拆成了“sea”和“it”&#xff0c;心想这大概是个和海洋或者海事相关的IT工具。点进去一看&am…...

Kubernetes二进制文件管理工具:自动化安装与多版本切换实践

1. 项目概述与核心价值在云原生和容器化技术成为主流的今天&#xff0c;Kubernetes 无疑是这个领域的基石。无论是开发、测试还是生产环境&#xff0c;我们都需要一套稳定、可靠的 Kubernetes 集群。然而&#xff0c;对于很多开发者、运维工程师&#xff0c;甚至是刚开始接触云…...

Arm Neoverse CMN-650错误处理与事务管理机制解析

1. Arm Neoverse CMN-650错误处理机制深度解析在现代多核处理器系统中&#xff0c;错误处理机制的设计直接影响着系统的可靠性和稳定性。Arm Neoverse CMN-650作为一款高性能一致性网状网络&#xff0c;其错误处理架构展现了精妙的设计理念。1.1 HN-I节点的错误分类与处理HN-I&…...