Linux 存储空间爆满排查处理

Info 在Linux中创建文件或运行应用时,出现错误提示No space left on device,表明存储资源已耗尽。 参考文章 :诊断并解决Linux实例磁盘空间满的多种场景-云服务器 ECS-阿里云 GPT5.4 指导 排查过程 由于该服务器是公司的主开发、测试服务器,使用人数较多经常会出现这个问题,这次统一整理一下操作过程,记录学习 检查分区情况 首先使用 df -h 查看 哪个分区满了 df : disk free -h: human-readable,不加该参数默认会以“字节”(Bytes)为单位显示,加上后系统会自动以 G (GB)、M (MB)、K (KB) 等单位显示 1 2 3 4 5 6 7 8 9 10 11 (base) yangr@172-16-99-32-Dev:/data/huggingface_model$ df -h Filesystem Size Used Avail Use% Mounted on tmpfs 13G 29M 13G 1% /run /dev/mapper/ubuntu--vg-ubuntu--lv 501G 481G 0 100% / tmpfs 63G 3.0M 63G 1% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/sdb1 3.6T 2.8T 622G 82% /data /dev/sda2 2.0G 252M 1.6G 14% /boot /dev/sda1 1.1G 6.1M 1.1G 1% /boot/efi tmpfs 13G 12K 13G 1% /run/user/1000 tmpfs 13G 12K 13G 1% /run/user/1002 我这里 / 分区已经 100% 此时大部分程序写入 日志或者 /tmp之类都会失效,严重影响服务器使用 ...

March 13, 2026 · 4 min · 809 words · Ray

C盘被wsl吃干抹净

前言 说是 被 WSL 给吃干抹净是不严谨的,但是这次出现的问题是公司一台开发机器。512 拆分两个盘,而我在运行 WSL Ubuntu 的过程中突然断联,说 1 2 3 4 5 6 (base) PS C:\Users\mck-dev> wsl <3>WSL (40532 - Relay) ERROR: CreateProcessParseCommon:1003: getpwuid(1000) failed 5 <3>WSL (40532 - Relay) ERROR: ConfigUpdateLanguage:2519: fopen(/etc/default/locale) failed 5 <3>WSL (40532 - Relay) ERROR: operator():577: getpwuid(0) failed 5 <3>WSL (40532) ERROR: I/O error @util.cpp:1356 (UtilInitGroups) <3>WSL (40532 - Relay) ERROR: CreateProcessCommon:805: Create process failed 一看C盘已经不是爆红,而是彻底满了。 这让我想起来 WSL 默认的文件系统应该也是在 C 盘(上次操作docker 给客户操作了一次),那我应该迁移一次,但是这次不是docker,怎么迁移这个文件系统 在WSL setting中找到文件系统的菜单中只有大小的设置,那么看来没有什么GUI的工具能帮我啦。 遇到这种问题其实很生气,因为我当时强行合盘,在我获得一个 2T的 C盘时,给我电脑造成超多碎片垃圾到现在没有清理干净。真是丧尽天良的落后设计。 导出内容 WSL 的“默认盘符”本质上是 发行版的 ext4.vhdx 所在位置。 只要 ext4.vhdx 在 D 盘,本质就已经迁移完成。 他已经来到了8G,对于这台118GB的 C盘,之前又装了 Epic 开发UE5,爆满在意料之中 执行以下命令把他导出 1 2 3 4 5 (base) PS C:\Users\mck-dev> wsl --export Ubuntu-22.04 D:\wsl\ubuntu.tar 正在导出,这可能需要几分钟时间。 (0 MB) 无法启动分发。错误代码: 6,失败步骤: 2 错误代码: Wsl/Service/E_FAIL 结果失败了,我猜爆满的C盘已经没有能力启动 WSL 。那么通过 WSL 去导出文件已经不可能。那就只能先清理一部分了。 清理了常见的 temp 和download,没有任何改善,此时我可以抛弃wsl的数据, ...

February 2, 2026 · 1 min · 205 words · Ray

怎么使用uv来管理 python 环境

依稀记得大一寒假打开 小甲鱼 python教程的一周后就认识了 Anaconda 这个解放我安装python 依赖的工具,至今已经过去了六年了,conda 似乎也做了一些商业收费的举措之类的,让很多大公司用上了新的环境管理工具,由于习惯我还一直用着conda,以至于我对 python 自己的 pyenv 都不是很了解(Damn!!!太丢人了) 那么这次就来用用 uv这个所谓的 超高速python工具链 uv 安装 uv macOS / Linux / WSL curl -LsSf https://astral.sh/uv/install.sh | sh Windows(PowerShell) irm https://astral.sh/uv/install.ps1 | iex 验证: uv --version 常见用法 1. 创建项目并指定python版本 在空目录或者指定目录创建项目 1 2 # 创建新目录并初始化项目 uv init my-app 或者你当前在一个空目录下: uv init 结果: uv 会生成一套基础文件,例如: 1 2 3 4 5 my-app/ ├── pyproject.toml # 项目配置(依赖/元数据) ├── .python-version # 记录 Python 版本 ├── README.md ├── main.py (示例入口) 如果指定了应用名 my-app,uv 也会生成对应样板代码和README.md。 ...

January 7, 2026 · 2 min · 307 words · Updated: January 24, 2026 · Ray

tmux是什么

本文大大大大量参考 阮一峰老师的博客,虽然我在之前的使用中没有翻阅他的文章,不过哪怕是抄,我也觉得应该抄个优秀的。 Tmux 使用教程 - 阮一峰的网络日志 这我没想到这篇写在19年,比我上次看的那个 async 要小很多了 Tmux 是一个终端复用器(terminal multiplexer),非常有用,属于常用的开发工具。 我常用是因为两个情况 懒得开多个窗口 远控服务器经过堡垒机 一、Tmux是什么 1.1 会话与进程 命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令。用户与计算机的这种临时的交互,称为一次"会话"(session) 。 会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。 也就是初学的时候,连上虚拟机或者ssh连上Linux之后部署运行程序是直接在这个窗口中运行的。当窗口关闭时程序也随之关闭,在当时接触了解了nohup 和 screen 。 一个典型的例子就是,SSH 登录远程计算机,打开一个远程窗口执行命令。这时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。 history能存上一次执行的命令,这里回头一定要学习一下,因为我也不知道什么情况才会存进history中 为了解决这个问题,会话与窗口可以"解绑":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口。 1.2 Tmux 的作用 Tmux 就是会话与窗口的"解绑"工具,将它们彻底分离。 (1)它允许在单个窗口中,同时访问多个会话。这对于同时运行多个命令行程序很有用。 (2) 它可以让新窗口"接入"已经存在的会话。 (3)它允许每个会话有多个连接窗口,因此可以多人实时共享会话。 (4)它还支持窗口任意的垂直和水平拆分。 类似的终端复用器还有 GNU Screen。Tmux 与它功能相似,但是更易用,也更强大。 二、基本用法 2.1 安装 Tmux 一般需要自己安装。 1 2 3 4 5 6 7 8 # Ubuntu 或 Debian $ sudo apt-get install tmux # CentOS 或 Fedora $ sudo yum install tmux # Mac $ brew install tmux 2.2 启动与退出 安装完成后,键入tmux命令,就进入了 Tmux 窗口。 ...

January 7, 2026 · 3 min · 520 words · Ray

VScode ssh server 离线下载

Note 微软大战代码的 SSH 工具挺好用,一直用它连接远程服务器进行开发,控制文件或者直接 terminal 运行命令都很方便。 但是当remote server 网络不好以及系统太老就歇菜了,那么如果下载 server 很久都没解决,我觉得应该可以离线下载并上传这个 server 主要参考文章 知乎 前言 要用 remote ssh in vscode,首先使用 vscode 的这一端,比如你的 windows or mac 就需要有 ssh client。25 年了,一般都会自带,如果这个都不知道,应该不会搜到我这篇文章。 其次 安装 remote-ssh 插件,我这里由于现在在用 cursor 就直接用 cursor 做例子截图 方法 1:直接在 vscode 中的 sidebar 中 Extentions 下载 我这里是已经下载的样子 方法2:从网页下载离线插件包 vscode market vscode 应该有 UI 可以点到,但是我这里就用命令行表达一下意思。install from VSIX 然后选择刚刚下载的插件包就可以了 ...

December 19, 2025 · 5 min · 932 words · Ray