No more free space

Hello,
My suse Leap 15.1 is installed on a 110G SSD drive. It is an upgrade from opensuse 42.2 to 42.3, then in addition to 15.0.
However, I have no more room and SUSE crashes (freezing).
I have cleaned several times, but the disc is filling again very quickly. Thank you for your help.

‘Stock’ and ‘datas’ partitions are another disk

df -h

Filesystem Size Used Avail Use% Mounted on
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 70M 16G 1% /dev/shm
tmpfs 16G 11M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/sdb3 110G 108G 239M 100% /
/dev/sdb3 110G 108G 239M 100% /tmp
/dev/sdb1 256M 50M 207M 20% /boot/efi
/dev/sdb3 110G 108G 239M 100% /var/opt
/dev/sdb3 110G 108G 239M 100% /var/lib/libvirt/images
/dev/sdb3 110G 108G 239M 100% /var/lib/machines
/dev/sdb3 110G 108G 239M 100% /var/lib/mailman
/dev/sda1 197G 12G 176G 7% /datas
/dev/sdb3 110G 108G 239M 100% /var/lib/mysql
/dev/sdb3 110G 108G 239M 100% /opt
/dev/sdb3 110G 108G 239M 100% /var/lib/mariadb
/dev/sdb3 110G 108G 239M 100% /home
/dev/sdb3 110G 108G 239M 100% /var/crash
/dev/sdb3 110G 108G 239M 100% /boot/grub2/x86_64-efi
/dev/sdb3 110G 108G 239M 100% /var/lib/named
/dev/sda2 732G 604G 129G 83% /stock
/dev/sdb3 110G 108G 239M 100% /var/lib/pgsql
/dev/sdb3 110G 108G 239M 100% /var/cache
/dev/sdb3 110G 108G 239M 100% /var/log
/dev/sdb3 110G 108G 239M 100% /usr/local
/dev/sdb3 110G 108G 239M 100% /srv
/dev/sdb3 110G 108G 239M 100% /boot/grub2/i386-pc
/dev/sdb3 110G 108G 239M 100% /var/spool
/dev/sdb3 110G 108G 239M 100% /var/tmp
tmpfs 3.2G 24K 3.2G 1% /run/user/1000

and

du -h -d 1 /home/

279M /home/eric
0 /home/.Trash-0
279M /home/

du -h -d 1 /var

102M /var/cache
0 /var/crash
du: cannot access '/var/lib/dhcp/proc/8958/task/8958/fd/3': No such file or directory
du: cannot access '/var/lib/dhcp/proc/8958/task/8958/fdinfo/3': No such file or directory
du: cannot access '/var/lib/dhcp/proc/8958/fd/4': No such file or directory
du: cannot access '/var/lib/dhcp/proc/8958/fdinfo/4': No such file or directory
225M /var/lib
80M /var/log
0 /var/opt
40K /var/spool
0 /var/tmp
238M /var/adm
400K /var/webmin
28K /var/usermin
4.0K /var/yp
643M /var

I don’t see any big files

I do the following :

sudo rm /var/tmp/* -rf
sudo zypper clean

rm /var/log/*.log -rf
sudo zypper purge-kernels

I also run bleach.

Then i comme back to 97%, but after 1 day go again to 100%

/var/lib/Libvirt is empty
/var/lib/machines is empty

Snapper is disabled

I know i can format the disk, to be quiet, but i prefer avoid that, it is a big job reinstall everything after.

Thank for any help

Eric

Show output ot

btrfs fi us /
btrfs sub li /
btrfs qgroup show /
snapper list

Hi,

edserv:/ # btrfs fi us /
Overall:
Device size: 109.53GiB
Device allocated: 109.52GiB
Device unallocated: 1.00MiB
Device missing: 0.00B
Used: 107.70GiB
Free (estimated): 382.77MiB (min: 382.77MiB)
Data ratio: 1.00
Metadata ratio: 1.00
Global reserve: 158.89MiB (used: 0.00B)

Data,single: Size:107.49GiB, Used:107.12GiB
/dev/sdb3 107.49GiB

Metadata,single: Size:2.00GiB, Used:593.03MiB
/dev/sdb3 2.00GiB

System,single: Size:32.00MiB, Used:16.00KiB
/dev/sdb3 32.00MiB

Unallocated:
/dev/sdb3 1.00MiB

edserv:/ # btrfs sub li /
ID 257 gen 27675195 top level 5 path @
ID 258 gen 27674942 top level 257 path boot/grub2/i386-pc
ID 259 gen 27674942 top level 257 path boot/grub2/x86_64-efi
ID 260 gen 27675195 top level 257 path home
ID 261 gen 27674962 top level 257 path opt
ID 262 gen 27674962 top level 257 path srv
ID 263 gen 27675191 top level 257 path tmp
ID 264 gen 27675191 top level 257 path usr/local
ID 265 gen 27675191 top level 257 path var/cache
ID 266 gen 27674942 top level 257 path var/crash
ID 267 gen 27674942 top level 257 path var/lib/libvirt/images
ID 268 gen 27674942 top level 257 path var/lib/machines
ID 269 gen 27674942 top level 257 path var/lib/mailman
ID 270 gen 27674942 top level 257 path var/lib/mariadb
ID 271 gen 27674962 top level 257 path var/lib/mysql
ID 272 gen 27674962 top level 257 path var/lib/named
ID 273 gen 27674942 top level 257 path var/lib/pgsql
ID 274 gen 27675195 top level 257 path var/log
ID 275 gen 27674942 top level 257 path var/opt
ID 276 gen 27675194 top level 257 path var/spool
ID 277 gen 27675191 top level 257 path var/tmp
ID 2386 gen 27674982 top level 257 path .snapshots

edserv:/ # btrfs qgroup show /
ERROR: can’t list qgroups: quotas not enabled

edserv:/ # snapper list

| Type | Pre # | Date | User | Cleanup | Description | Userdata

—±-------±------±-----±-----±--------±------------±--------
0 | single | | | root | | current |

thank for help

Hi,

**edserv:/ #** btrfs fi us /
Overall:
    Device size:                 109.53GiB
    Device allocated:            109.52GiB
    Device unallocated:            1.00MiB
    Device missing:                  0.00B
    Used:                        107.70GiB
    Free (estimated):            382.77MiB      (min: 382.77MiB)
    Data ratio:                       1.00
    Metadata ratio:                   1.00
    Global reserve:              158.89MiB      (used: 0.00B)

Data,single: Size:107.49GiB, Used:107.12GiB
   /dev/sdb3     107.49GiB

Metadata,single: Size:2.00GiB, Used:593.03MiB
   /dev/sdb3       2.00GiB

System,single: Size:32.00MiB, Used:16.00KiB
   /dev/sdb3      32.00MiB

Unallocated:
   /dev/sdb3       1.00MiB

**edserv:/ #** btrfs sub li /
ID 257 gen 27675195 top level 5 path @
ID 258 gen 27674942 top level 257 path boot/grub2/i386-pc
ID 259 gen 27674942 top level 257 path boot/grub2/x86_64-efi
ID 260 gen 27675195 top level 257 path home
ID 261 gen 27674962 top level 257 path opt
ID 262 gen 27674962 top level 257 path srv
ID 263 gen 27675191 top level 257 path tmp
ID 264 gen 27675191 top level 257 path usr/local
ID 265 gen 27675191 top level 257 path var/cache
ID 266 gen 27674942 top level 257 path var/crash
ID 267 gen 27674942 top level 257 path var/lib/libvirt/images
ID 268 gen 27674942 top level 257 path var/lib/machines
ID 269 gen 27674942 top level 257 path var/lib/mailman
ID 270 gen 27674942 top level 257 path var/lib/mariadb
ID 271 gen 27674962 top level 257 path var/lib/mysql
ID 272 gen 27674962 top level 257 path var/lib/named
ID 273 gen 27674942 top level 257 path var/lib/pgsql
ID 274 gen 27675195 top level 257 path var/log
ID 275 gen 27674942 top level 257 path var/opt
ID 276 gen 27675194 top level 257 path var/spool
ID 277 gen 27675191 top level 257 path var/tmp
ID 2386 gen 27674982 top level 257 path .snapshots



**edserv:/ #** btrfs qgroup show /
ERROR: can't list qgroups: quotas not enabled

**edserv:/ #** snapper list
 # | Type   | Pre # | Date | User | Cleanup | Description | Userdata
---+--------+-------+------+------+---------+-------------+---------
0  | single |       |      | root |         | current     |         


thank for help

Wow,
Your system has been on life support for quite awhile…
You probably have had errors for a long time unable to create snapshots (unless you disabled snapshots)

Critical issues I notice are
You don’t have any snapshots except the original, possibly when your system was first created. This means you can’t recover space by deleting extra snapshots
Something else is filling up your system, because your system has been running for so long, maybe system logs are larger than needed? How much space are your apps using? You say that at least some of your app data is stored on a different partition or disk, but what might be still written to your root partition?

First thing you need to do immediately is make a reliable backup in case things get worse because you don’t have a lot of margin to spare.

After that,
I would take the extraordinary step of locating all tmp directories on your machine and consider cleaning them out completely. Nowadays, system tmp directories should be mounted as tmpfs in RAM, but maybe your system still retains architecture writing to disk because of your original installation. Most should likely be safe to delete, but I can’t give you a guarantee because apps can be written any way they please.

Depending on the apps installed, similarly clean out anything that’s unnecessary.

You should manually clean out your system logs… the following applies to the journal

https://wiki.archlinux.org/index.php/Systemd/Journal#Clean_journal_files_manually

You should also consider the consequences if you’re also saving and exporting your system logs by way of the legacy /var/messages. If you are, then re-locate or delete those files keeping in mind that to do so can effect log monitoring that relies on these files.

After removing as much as you think you can safely, rebalance your BTRFS metadata, here is the BTRFS original documentation, skip down to the “filesystem full errors” section and run the second command that’s recommended (the first is for older systems which haven’t been updated)

https://btrfs.wiki.kernel.org/index.php/Balance_Filters

Perhaps my most important recommendation…
Get yourself a bigger hard drive.
Now is the time to do it, and if you can clone your current install to a new 1-4 TB drive, it’ll be the cheapest, most sure solution to both your immediate and long term problems.
I don’t know what your drive subsystem is, but a single 4 TB SATA drive today will cost you between $80 (grey market) to $150 (retail). That’s roughly the current “sweet spot” for best HDD value per megabyte, you’ll probably pay a little more per megabyte for smaller or larger drives. US Dollar prices.

Good Luck and again… Don’t skip that step of making an immediate backup before you do anything else…

TSU

Small additional,

Glad to see you found a translator so you can post in English, Welcome to this English speaking Technical Help Forums…
It helps to standardize on a single language for all viewers.

And, I notice that you found the

 tags, so kudos for creating a post that's easy to read.

You'll notice that @arvidjaar's post requested BTRFS command output, the usual commands you originally used have only limited value when used against BTRFS, so should not be avoided completely but only sparingly and not for the usual reasons.

TSU

It’s /tmp which is running havoc. Clean it out. My machine does well with:

3400G:~ # du -hs /tmp/ 
16K     /tmp/ 
3400G:~ # 

:wink:

You do not have any snapshots and disk space is completely allocated. In this case I usually use du to start with top level and drill down. Something like

du -xsh / /home /srv /opt /usr/local /tmp /var/*

and depending on output go next level in subvolume that is filled most.