linux /dev/sda1 磁盘满了,解决办法

本文详细记录了Ubuntu系统因磁盘空间不足导致界面异常的问题排查过程,通过清理/var/log目录下的CUPS日志文件,以及终止异常的CUPS进程,最终解决了磁盘空间持续被占用的问题。
部署运行你感兴趣的模型镜像

一开始系统报“no space left on device”(磁盘空间不足),然后本来带桌面的ubuntu系统变成只能黑框输入命令的界面了,tab键自动补全命令也用不了了。

然后上网查找资料,用df -h 命令查看磁盘使用情况时发现/dev/sda1满了

接下来需要使用命令du -sh * 看哪个目录占用空间大(可以从根目录开始,一步步查)

cd /

du -sh *

我发现的是/var/log占了很大的内存,然后我把log文件删除

cd var

rm -rf log

删除之后,虚拟机系统自动恢复有界面的样子,但是我用df -h查看时发现/dev/sda1还是满的,奇怪。

第二天我再次开启此虚拟机时再用df -h查看时发现又变为50%占用了,奇怪,不得其解,暂时留个问题

--------------------------------------------------------------------------时间分割线--------------------------------------------------------------------------------

接着上次的问题,再次用df -h 命令查看时,发现/dev/sda1的占用量居然慢慢增加,

猜测应该是某个运行的进程导致的

cd log

接下来使用命令du -sh * 看log目录下哪个目录占用空间大

发现是cups,接下来进入cups继续用命令 du -sh * 看该文件夹下哪个占用空间大

cd cups

清空两个占用空间大的日志内容,但是发现error_log竟然又慢慢增大

果不其然,/dev/sda1的占用量也在慢慢上升 

 

查看有关cups服务的进程id

 

发现只有第一个有关cups的进程在运行(状态为Rs),使用kill命令彻底杀死这个进程,并查看是否kill成功

 

再用df -h命令检查/dev/sda1的占用量是否继续慢慢增加

 

发现/dev/sda1的占用量始终维持在41%,不在莫名奇妙的增加了,问题解决!!! 

参考:https://blog.youkuaiyun.com/u014520797/article/details/80840214

https://bbs.youkuaiyun.com/topics/330253161

https://blog.youkuaiyun.com/Alex_LiuC/article/details/88390333

https://blog.youkuaiyun.com/h_8410435/article/details/86303995

http://skyhome.cn/server/341.html

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

<think>我们正在讨论Linux中的设备文件,特别是/dev/sda, /dev/sda1, /dev/sdd等。这些是块设备文件,代表存储设备及其分区。 根据引用[1]和引用[2]: - /dev/sda 通常指整个第一块硬盘(磁盘设备) - /dev/sda1 指第一块硬盘的第一个主分区(或逻辑分区) - /dev/sdd 通常指第四块硬盘(因为a,b,c,d...) 更详细的信息: 1. 命名规则:在Linux中,存储设备(如SATA硬盘、USB驱动器、SCSI设备等)通常以sd开头,后面跟着一个字母,表示设备的顺序(a,b,c,...)。例如: - sda: 第一块硬盘 - sdb: 第二块硬盘 - sdc: 第三块硬盘 - sdd: 第四块硬盘 2. 分区:每个磁盘可以划分为多个分区,分区号用数字表示,从1开始。例如: - /dev/sda1: 第一块硬盘上的第一个分区 - /dev/sda2: 第一块硬盘上的第二个分区 - /dev/sdd1: 第四块硬盘上的第一个分区 3. 分区类型:根据引用[2],在MBR分区表中: - 主分区:编号1到4(例如sda1, sda2, sda3, sda4) - 扩展分区:其中可以包含多个逻辑分区,逻辑分区的编号从5开始(例如sda5, sda6...) 4. 使用:整个磁盘设备(如/dev/sda)通常用于对整个磁盘进行操作(如分区、整盘复制等),而分区(如/dev/sda1)则用于挂载文件系统、读写数据等。 5. 查看分区信息:可以使用命令`lsblk`或`fdisk -l`来查看磁盘和分区的详细信息。 示例输出(部分): $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 238.5G 0 disk ├─sda1 8:1 0 512M 0 part /boot/efi ├─sda2 8:2 0 100.0G 0 part / └─sda3 8:3 0 138G 0 part /home sdb 8:16 0 1.8T 0 disk └─sdb1 8:17 0 1.8T 0 part /data sdc 8:32 0 931.5G 0 disk └─sdc1 8:33 0 931.5G 0 part /backup sdd 8:48 0 465.8G 0 disk ├─sdd1 8:49 0 100G 0 part └─sdd2 8:50 0 365.8G 0 part 在这个例子中: - sda, sdb, sdc, sdd 分别是四块硬盘。 - sda有三个分区(sda1, sda2, sda3),分别挂载到/boot/efi, /, /home。 - sdb和sdc各有一个分区(sdb1, sdc1),分别挂载到/data和/backup。 - sdd有两个分区(sdd1, sdd2),目前没有挂载。 6. 注意事项: - 在操作这些设备文件时(如使用dd命令),务必小心,因为错误的操作可能导致数据丢失。 - 当插入新的存储设备(如U盘)时,它可能会被分配为sdd(如果已有sda、sdb、sdc)或者下一个可用的字母。 7. 挂载分区:要访问分区中的文件系统,需要将其挂载到目录树。例如: sudo mount /dev/sdd1 /mnt/mydrive 然后就可以通过/mnt/mydrive访问sdd1分区的内容。 8. 卸载分区:使用完卸载: sudo umount /mnt/mydrive 9. 文件系统:分区在使用前需要格式化为某种文件系统(如ext4, ntfs, fat32等)。可以使用mkfs命令格式化。 10. 分区表:磁盘的分区信息存储在分区表中。常见的分区表类型有MBR(主引导记录)和GPT(GUID分区表)。MBR限制较多(如最多4个主分区,磁盘大小不超过2TB),而GPT则更现代,支持更多分区和更大磁盘。 总结: /dev/sda, /dev/sdb, ... 代表整个物理磁盘。 /dev/sda1, /dev/sda2, ... 代表对应磁盘上的分区。 相关问题: 1. 如何安全移除一个USB存储设备(如/dev/sdd)? 2. 如何在Linux中创建新分区并格式化? 3. MBR和GPT分区表的区别是什么? 4. 如何扩展一个已存在的分区? </think>### Linux存储设备标识详解:/dev/sda, /dev/sdd, /dev/sda1 #### **1. 基础概念与命名规则** | 设备路径 | 含义 | 特点 | |------------------|----------------------------------------------------------------------|----------------------------------------------------------------------| | **/dev/sda** | **第一块物理硬盘设备**(SATA/SCSI/SAS) | - 字母顺序:`a`=第1块, `b`=第2块, `c`=第3块...<br>- 代表整块物理磁盘[^1] | | **/dev/sdd** | **第四块物理硬盘设备** | - 例如:移动硬盘/U盘通常按插入顺序分配`sdb`, `sdc`, `sdd`等标识 | | **/dev/sda1** | **第一块硬盘上的第一个分区** | - 数字序号表示分区<br>- 必须挂载到目录才能访问文件系统[^1] | #### **2. 分区规则与类型** - **分区编号规则**: ```bash 1-4: 主分区(Primary) # 例如sda1, sda2 5+ : 逻辑分区(Logical) # 例如sda5, sda6(位于扩展分区内) ``` - **MBR分区表限制**: - 最多4个主分区(或3主分区+1扩展分区) - 扩展分区内可创建多个逻辑分区(顺序编号,必须连续)[^2] - **GPT分区表特性**: - 支持128个主分区 - 无主/逻辑分区区别(所有分区直接编号1-128) #### **3. 查看设备信息的命令** ```bash # 查看所有块设备及分区树 lsblk # 输出示例: # NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT # sda 8:0 0 1TB 0 disk # ├─sda1 8:1 0 512M 0 part /boot # └─sda2 8:2 0 999G 0 part / # 查看分区表详情 sudo fdisk -l /dev/sda # 输出示例: # Device Boot Start End Sectors Size Type # /dev/sda1 * 2048 1050623 1048576 512M EFI # /dev/sda2 1050624 209715199 208664576 995G Linux ``` #### **4. 关键操作场景** 1. **挂载分区**(访问文件内容): ```bash sudo mount /dev/sda1 /mnt/data # 将sda1挂载到/mnt/data目录 ``` 2. **安全卸载设备**: ```bash sudo umount /dev/sdd # 卸载整个磁盘(自动卸载所有分区) ``` 3. **分区识别差异**: - 直接读写`/dev/sda`会覆盖分区表(⚠️危险操作) - 读写`/dev/sda1`仅影响该分区内的数据 #### **5. 典型物理对应关系** | 设备路径 | 常见物理设备 | 系统识别逻辑 | |----------------|-----------------------------------|----------------------------------| | `/dev/sda` | 主板第一个SATA接口的SSD/HDD | BIOS检测顺序决定字母分配 | | `/dev/sdd` | 第三个USB接口插入的移动硬盘 | 热插拔设备按连接时间顺序分配字母 | | `/dev/nvme0n1` | M.2 NVMe固态硬盘(不同命名体系) | 采用`nvmeXnYpZ`分层命名规则 | --- ### **常见问题解答** **Q1: 为什么插入U盘后显示为`/dev/sdd1`而非`/dev/sdd`?** → 系统自动识别出U盘包含**一个分区**(sdd1),此时直接操作分区即可访问数据。 **Q2: `/dev/sda`和`/dev/sda1`能同时读写吗?** → 不可以!同时操作会导致数据损坏: - 通过`/dev/sda`写数据:直接覆盖物理扇区(忽略分区表) - 通过`/dev/sda1`写数据:受文件系统约束(安全) **Q3: 如何确认设备字母分配规则?** → 查看内核日志: ```bash dmesg | grep -i scsi # 输出示例: # [ 2.283416] sd 0:0:0:0: [sda] 209715200 512-byte sectors ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值