最近工作站磁盘空间满了,之前采用的是删除一些文件的方法让系统继续运行(根路径下100%程序就不能运行),但根目录磁盘空间实在太小了,只有134G,所以删除几天后,磁盘再次满了,需要找到一个解决方法。
该文章,先查看工作站上有多少磁盘,各自的使用量是多少?

1. 查看磁盘文件使用情况

  • df -h 查看磁盘使用情况。

当前工作站磁盘的使用情况如下,可以看到root下134G磁盘已经使用了99%,仅剩下2.4G可以使用。

Filesystem      Size  Used Avail Use% Mounted on
udev             24G     0   24G   0% /dev
tmpfs           4.7G  2.0M  4.7G   1% /run
/dev/sda6       134G  124G  2.4G  99% /
tmpfs            24G   52K   24G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs            24G     0   24G   0% /sys/fs/cgroup
/dev/loop0      2.3M  2.3M     0 100% /snap/gnome-calculator/260
/dev/loop2      3.8M  3.8M     0 100% /snap/gnome-system-monitor/95
/dev/loop3      150M  150M     0 100% /snap/gnome-3-28-1804/71
/dev/loop5       36M   36M     0 100% /snap/gtk-common-themes/1198
/dev/loop8      1.0M  1.0M     0 100% /snap/gnome-logs/57
/dev/loop6       89M   89M     0 100% /snap/core/7396
/dev/loop11     141M  141M     0 100% /snap/gnome-3-26-1604/88
/dev/loop7       15M   15M     0 100% /snap/gnome-logs/45
/dev/loop10     141M  141M     0 100% /snap/gnome-3-26-1604/90
/dev/loop13     4.2M  4.2M     0 100% /snap/gnome-calculator/352
/dev/loop14      15M   15M     0 100% /snap/gnome-characters/296
/dev/loop12     1.0M  1.0M     0 100% /snap/gnome-logs/61
/dev/loop9      3.8M  3.8M     0 100% /snap/gnome-system-monitor/100
/dev/loop15      43M   43M     0 100% /snap/gtk-common-themes/1313
/dev/loop16     4.2M  4.2M     0 100% /snap/gnome-calculator/406
/dev/loop17     150M  150M     0 100% /snap/gnome-3-28-1804/67
/dev/loop18      55M   55M     0 100% /snap/core18/1074
/dev/loop19      89M   89M     0 100% /snap/core/7270
tmpfs           4.7G  4.0K  4.7G   1% /run/user/124
tmpfs           4.7G     0  4.7G   0% /run/user/1001
tmpfs           4.7G     0  4.7G   0% /run/user/1000
/dev/nvme0n1    458G  205G  230G  48% /home/user/m2Dir
/dev/loop20      15M   15M     0 100% /snap/gnome-characters/317
/dev/loop1       55M   55M     0 100% /snap/core18/1098

以上信息中,有很多 /dev/loop*、tmpfs 以及 nvme0n1,这些各自代表什么含义?以下对其进行一一解释

  • /dev/loop*
    • /dev/loop* 是 【loop devices 】,loog devices是将普通文件作为块设备访问的循环设备。 它们与RAM占用无关。 它们通常用于安装磁盘映像,在当前的情况下显然是用于Ubuntu Snap1
    • 为什么Linux使用loop?没有使用的RAM是一种浪费,所以Linux让你的RAM得到更合理的应用。
    • 是否导致RAM变少?实际上不会,loop 100%占用,不会影响系统的正常使用,如果需要更多内存资源,Linux系统立即腾出loop的空间。
    • 更多关于loop device的问题,可以参考 【linux ate my ram

2. 其他关于磁盘的信息的命令

  • lsblk (List Block) 列出当前服务器的所有Blocks,默认参数为 -a

更详细的信息查看:
lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,MODEL 可以查看到磁盘型号

可以将上述命令添加到环境变量中,即在环境变量(/.bashrc、/.zshrc)中添加alias lsdrv="lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,MODEL",以后即可使用lsdrv命令查看磁盘详细信息。

  • 查看磁盘信息:sudo hdparm -i /dev/sdb

    /dev/sdb:
    
     Model=ST4000DM005-2DP166, FwRev=0001, SerialNo=ZGY3VMMP
     Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
     RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0
     BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=off
     CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=7814037168
     IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
     PIO modes:  pio0 pio1 pio2 pio3 pio4 
     DMA modes:  mdma0 mdma1 mdma2 
     UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 
     AdvancedPM=yes: unknown setting WriteCache=enabled
     Drive conforms to: unknown:  ATA/ATAPI-4,5,6,7
    
     * signifies the current active mode
    
  • du -hs 查看当前目录占用量

  • du -h 递归查看当前路径占用量
  • du -d 1 -h 查看当前目录下,各个子目录的大小。-d参数指示显示文件的深度-depth。eg: du -d 0 -h 查看当前目录的大小。
  • 更详细的查看:sudo hdparm -I /dev/sda

  • lsblk -f 也可以查看未挂载的文件系统类型。


  1. What is /dev/loopx? ↩︎