{"id":5915,"date":"2019-08-29T22:34:23","date_gmt":"2019-08-29T20:34:23","guid":{"rendered":"https:\/\/monodes.com\/predaelli\/?p=5915"},"modified":"2019-08-29T15:34:32","modified_gmt":"2019-08-29T13:34:32","slug":"confusion-with-used-free-disk-space-in-zfs-oshogbo-vx","status":"publish","type":"post","link":"https:\/\/monodes.com\/predaelli\/2019\/08\/29\/confusion-with-used-free-disk-space-in-zfs-oshogbo-vx\/","title":{"rendered":"Confusion with used\/free disk space in ZFS &#8211; oshogbo\/\/vx"},"content":{"rendered":"<p>In case you <strong>really <\/strong>need to know free space on a ZFS filesystem read:<\/p>\n<h1><em><a href=\"https:\/\/oshogbo.vexillium.org\/blog\/65\/\">Confusion with used\/free disk space in ZFS &#8211; oshogbo\/\/vx<\/a><\/em><\/h1>\n<p><!--more--><!--nextpage--><\/p>\n<blockquote>\n<h3>Confusion with used\/free disk space in ZFS<\/h3>\n<p>May 16, 2019, 3:55 p.m.<\/p>\n<p>I use ZFS extensively. ZFS is my favorite file system. I write articles and give lectures about it. I work with it every day. In traditional file systems we use <em>df(1)<\/em> to determine free space on partitions. We can also use <em>du(1)<\/em> to count the size of the files in the directory. But it\u2019s different on ZFS and this is the most confusing thing EVER. I always forget which tool reports what disk space usage! Every time somebody asks me, I need to google it. For this reason I decided to document it here &#8211; for myself &#8211; because if I can\u2019t remember it at least I will not need to google it, as it will be on my blog, but maybe you will also benefit from this blog post if you have the same problem or you are starting your journey with ZFS.<\/p>\n<p><strong>zpool<\/strong><\/p>\n<p>Let\u2019s create some test pool:<br \/>\n# mdconfig -s 1G<br \/>\n#\u00a0mdconfig -s 1G<br \/>\n#\u00a0mdconfig -s 1G<br \/>\n#\u00a0zpool create ztest raidz1 \/dev\/md0 \/dev\/md1 \/dev\/md2<br \/>\n#\u00a0zpool list<br \/>\nNAME\u00a0 \u00a0 SIZE\u00a0 ALLOC\u00a0 \u00a0FREE\u00a0 CKPOINT\u00a0 EXPANDSZ\u00a0 \u00a0FRAG\u00a0 \u00a0 CAP\u00a0 DEDUP\u00a0 HEALTH\u00a0 ALTROOT<br \/>\nztest\u00a0 2.75G\u00a0 \u00a0431K\u00a0 2.75G\u00a0 \u00a0 \u00a0 \u00a0 &#8211;\u00a0 \u00a0 \u00a0 \u00a0 \u00a0&#8211;\u00a0 \u00a0 \u00a00%\u00a0 \u00a0 \u00a00%\u00a0 1.00x\u00a0 ONLINE\u00a0 &#8211;<\/p>\n<p>Does it mean that we can store 2.75GBs on the pool? Unfortunately not. zpool under column FREE reports to us the free bytes in the pool. This means that it doesn&#8217;t count the data redundancy in it. So, every time we write data on the disk a parity data will be written to the pool. In the case of RAIDZ1, the size of the one disk will be used for the parity data. The SIZE value reports the size of the whole pool (so all the disks in the pool).<\/p>\n<p>zpool shows the total bytes of storage available in the pool. This doesn&#8217;t reflect the amount of data you can store on the pool. To figure out that you should refer to the AVIL space from the zfs.<\/p>\n<p>$ zfs list<br \/>\nNAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0USED\u00a0 AVAIL\u00a0 REFER\u00a0 MOUNTPOINT<br \/>\nztest\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 261K\u00a0 1.71G\u00a0 29.3K\u00a0 \/ztest<\/p>\n<p>What is interesting is in the case of a mirror it will show the size of a single disk.<\/p>\n<p>NAME\u00a0 \u00a0 SIZE\u00a0 ALLOC\u00a0 \u00a0FREE\u00a0 CKPOINT\u00a0 EXPANDSZ\u00a0 \u00a0FRAG\u00a0 \u00a0 CAP\u00a0 DEDUP\u00a0 HEALTH\u00a0 ALTROOT<br \/>\nztest\u00a0 \u00a0960M\u00a0 87.5K\u00a0 \u00a0960M\u00a0 \u00a0 \u00a0 \u00a0 &#8211;\u00a0 \u00a0 \u00a0 \u00a0 \u00a0&#8211;\u00a0 \u00a0 \u00a00%\u00a0 \u00a0 \u00a00%\u00a0 1.00x\u00a0 ONLINE\u00a0 \u00a0 \u00a0 \u00a0 &#8211;<\/p>\n<p><strong>zfs<\/strong><\/p>\n<p># zfs list<br \/>\nNAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 USED\u00a0 AVAIL\u00a0 REFER\u00a0 MOUNTPOINT<br \/>\nzroot\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0146G\u00a0 49.3G\u00a0 14.4G\u00a0 legacy<br \/>\nzroot\/home\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 2.0G\u00a0 49.3G\u00a0 \u00a0 12K\u00a0 \/home\/<br \/>\nzroot\/home\/def\u00a0 \u00a0 \u00a0 \u00a0 1.0G\u00a0 49.3G\u00a0 \u00a01.0G\u00a0 \/home\/def<br \/>\nzroot\/home\/oshogbo\u00a0 \u00a0 1.0G\u00a0 49.3G\u00a0 \u00a01.0G\u00a0 \/home\/oshogbo<\/p>\n<p>The <em>zfs(1)<\/em> command shows us the used and available space per dataset. The used space (USED column) is hierarchal. It means that the size of the <em>zroot\/home\/oshogbo<\/em>\u00a0(1GB) is also added to the <em>zroot\/home<\/em>\u00a0(2GB).\u00a0 <em>zroot\/home<\/em> contains 2GB because both <em>zroot\/home\/oshogbo<\/em>\u00a0and <em>zroot\/home\/def<\/em>\u00a0use 1GB and it probably doesn&#8217;t contain data by its own.<\/p>\n<p>The available space (AVIL) means how much data we can actually write to the dataset. This value refers to the size of data stored after compressions, deduplication, and all the RAIDs stuff.<\/p>\n<p>The available space in our example is exactly the same because all datasets have access to the whole pool. This value may be changed per dataset, for example using quotas and reservations.<\/p>\n<p>The reference data (REFER) means how many data are REFERENCED to the particular dataset (not stored in the dataset). The <em>zroot\/home<\/em> refer to 12KBts of space. In this space there is only some metadata, as it is not real data that is stored there. Those data basically say that such a file system exists. Let\u2019s look at the example below:<br \/>\nNAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 USED\u00a0 AVAIL\u00a0 REFER\u00a0 MOUNTPOINT<br \/>\nztank\/test\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a011.0G\u00a0 \u00a0614G\u00a0 11.0G\u00a0 \/test<br \/>\nztank\/mytests\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0\u00a0 \u00a0614G\u00a0 11.0G\u00a0 \/mytests<\/p>\n<p>The <em>ztank\/test<\/em> is using 11.0G and it has REFERance 11.0G. The <em>ztank\/mytest<\/em> REFERENCE to 11.0G but is using 0 storage space. How is that possible? This is because the <em>ztank\/mytest<\/em>\u00a0is a clone of the <em>ztank\/test<\/em>. It means that if we would like for example to send <em>ztank\/mytest<\/em>\u00a0to the file, the created file will have 11.0GB size, but physically on our disks <em>ztank\/mytest<\/em>\u00a0doesn&#8217;t use any blocks.<\/p>\n<p>If we were to start writing to the dataset <em>ztank\/mytest<\/em>\u00a0the USED and REFER amount will be increased:<br \/>\nNAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 USED\u00a0 AVAIL\u00a0 REFER\u00a0 MOUNTPOINT<br \/>\nztank\/mytests\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1.19G\u00a0 \u00a0612G\u00a0 12.2G\u00a0 \/mytests<br \/>\nztank\/test\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a011.0G\u00a0 \u00a0612G\u00a0 11.0G\u00a0 \/test<\/p>\n<p>What if we were to remove the data from dataset <em>ztank\/mytest<\/em>\u00a0which refers to the <em>ztank\/test<\/em>? The USED value wouldn\u2019t change because the data wasn\u2019t freed from ztank\/mytest, but the reference count will drop.<br \/>\nNAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 USED\u00a0 AVAIL\u00a0 REFER\u00a0 MOUNTPOINT<br \/>\nztank\/mytests\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1.51G\u00a0 \u00a0612G\u00a0 1.55G\u00a0 \/mytests<br \/>\nztank\/test\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a011.0G\u00a0 \u00a0612G\u00a0 11.0G\u00a0 \/test<\/p>\n<p>And the last thing that would happen if we freed some space in <em>ztank\/test<\/em>? <em>ztank\/test<\/em> is we would have a snapshot because\u00a0 <em>ztank\/mytest<\/em> was created from it.<br \/>\nNAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 USED\u00a0 AVAIL\u00a0 REFER\u00a0 MOUNTPOINT<br \/>\nztank\/test\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a011.0G\u00a0 \u00a0612G\u00a0 48.9M\u00a0 \/test<\/p>\n<p>The snapshot is using and REFERing to the 11.0GB of data. As mentioned before the USED is hierarchal and means that it counts all datasets and snapshots. This means that 11.0G used by the `ztank\/test` is a value of the all underlying datasets and snapshots. If we were to rollback to the state of test snapshot:<br \/>\nNAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 USED\u00a0 AVAIL\u00a0 REFER\u00a0 MOUNTPOINT<br \/>\nztank\/test@test\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0\u00a0 \u00a0 \u00a0 &#8211;\u00a0 11.0G\u00a0 &#8211;<\/p>\n<p>It will turn out that the snapshot doesn&#8217;t use any space because all of our data is stored in the dataset:<br \/>\nNAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 USED\u00a0 AVAIL\u00a0 REFER\u00a0 MOUNTPOINT<br \/>\nztank\/test\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a011.0G\u00a0 \u00a0612G\u00a0 11.0G\u00a0 \/test<\/p>\n<p>To see more details about used space we can run the `zfs list -o space` command.<br \/>\nzfs list -o space<br \/>\nNAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0AVAIL\u00a0 \u00a0 USED\u00a0 USEDSNAP\u00a0 USEDDS \u00a0USEDREFRESERV USEDCHILD<br \/>\nztank\/mytests\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0612G\u00a0 \u00a01.51G\u00a0 \u00a0 \u00a0 \u00a0 \u00a00\u00a0 \u00a01.51G\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a00<br \/>\nztank\/test\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 612G\u00a0 \u00a011.0G\u00a0 \u00a0 \u00a0 \u00a0 \u00a00\u00a0 \u00a011.0G\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a00<\/p>\n<p>The USED and AVAIL columns we know already.<br \/>\nThe USEDSNAP is a space used by the snapshots. If we removed a file like previously this value would go up to 10.9G.<\/p>\n<p>NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0AVAIL\u00a0 \u00a0 USED\u00a0 USEDSNAP\u00a0 USEDDS\u00a0 USEDREFRESERV\u00a0 USEDCHILD<br \/>\nztank\/mytests\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0612G\u00a0 \u00a01.51G\u00a0 \u00a0 \u00a0 \u00a0 \u00a00\u00a0 \u00a01.51G\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0<br \/>\nztank\/test\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 612G\u00a0 \u00a011.0G\u00a0 \u00a0 \u00a010.9G\u00a0 \u00a048.9M\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0<\/p>\n<p>The USEDDS column show the size of files in the dataset &#8211; only files without snapshots, reservations etc.<br \/>\nThe USEDREFRESERV value is reporting the space used by refreservation for this dataset.<br \/>\nThe USEDCHILD value is reporting the space used by its children. If we would go back to this example within the hierarchy:<br \/>\nNAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0AVAIL\u00a0 \u00a0 USED\u00a0 USEDSNAP USEDDS \u00a0USEDREFRESERV USEDCHILD<br \/>\nzroot\/home\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a049.3G\u00a0 \u00a0 2.0G\u00a0 \u00a0 \u00a0 \u00a0 \u00a00\u00a0 \u00a0 \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0\u00a0 \u00a0 \u00a0 2.0G<br \/>\nzroot\/home\/def\u00a0 \u00a0 \u00a0 \u00a0 \u00a049.3G\u00a0 \u00a0 1.0G\u00a0 \u00a0 \u00a0 \u00a0 \u00a00\u00a0 \u00a01.0G \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00\u00a0 \u00a0 \u00a0 \u00a0 0G<br \/>\nzroot\/home\/oshogbo\u00a0 \u00a0 \u00a049.3G\u00a0 \u00a0 1.0G\u00a0 \u00a0 \u00a0 \u00a0 \u00a00\u00a0 \u00a01.0G\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 0G<\/p>\n<p>We see that <em>zroot\/home<\/em>\u00a0does not USEDDS any of the data and its child (USEDCHILD) is using 2.0GBs.<\/p>\n<p><strong>df<\/strong><\/p>\n<p>The<em> df(1)<\/em> output may be a little bit confusing.<br \/>\nFilesystem\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Size Used Avail Capacity \u00a0Mounted on<br \/>\nzroot\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 64G\u00a0 14G\u00a0 \u00a049G\u00a0 \u00a0 \u00a0 23%\u00a0 \/<br \/>\nzroot\/tmp\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 51G 1.9G\u00a0 \u00a049G\u00a0 \u00a0 \u00a0 \u00a04%\u00a0 \/tmp<br \/>\nzroot\/usr\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 87G\u00a0 38G\u00a0 \u00a049G\u00a0 \u00a0 \u00a0 44%\u00a0 \/usr<br \/>\nzroot\/var\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 54G 5.0G\u00a0 \u00a049G\u00a0 \u00a0 \u00a0 \u00a09%\u00a0 \/var<\/p>\n<p>Normally <em>df(1)<\/em> reports the size of all of the filesystem in the operating systems. The problem is that all the filesystems (datasets) are using the same pool of data and all of it is available to any of the filesytems. So, if we were to add it up as we use to it would turn out that our disk is much bigger.<\/p>\n<p>This is also the reason why we can\u2019t depend on the capacity value. You also may notice that the size of the file system shrinks as space is used up and grows when space is freed. This tool will give us incorrect answers. This may also confuse other tools and windows machines while we mount datasets via SAMBA.<\/p>\n<p>The situation in which we can depend on the df is the used size. This value correspondents to the REFER value of the zfs list, and also to determining where the mount points of datasets are.<\/p>\n<p><strong>du and ls<\/strong><\/p>\n<p>Let\u2019s examine this example:<br \/>\n# zfs list<br \/>\nNAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 USED AVAIL REFER MOUNTPOINT<br \/>\nztank\/test\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a023K\u00a0 \u00a0625\u00a0 \u00a023K \/test<\/p>\n<p># du -h file3<br \/>\n512B\u00a0\u00a0\u00a0 file3<\/p>\n<p># ls -lah<br \/>\n-rw-r&#8211;r&#8211; \u00a01 root wheel \u00a0\u00a01.0G May 12 13:40 file3<\/p>\n<p>The zfs list says that we are using 23KB of data. <em>du(1)<\/em> is saying a few bytes and <em>ls(1)<\/em> is reporting a GB. The case is the written file is compressed or full of zeros which ZFS also compress.<\/p>\n<p>The <em>du(1)<\/em> tool reports how many bytes are used to store the contents of the files after compression, dedupe and so on.<\/p>\n<p>The <em>ls -l<\/em> shows the real size of the file. If you plan to copy a file to a different FS without compression you need to prepare to have enough disk size.<\/p>\n<p><strong>Summary<\/strong><\/p>\n<p>The understanding of how ZFS is uses space and how to determine which value means what is a crucial thing. I hope thanks to this article I will finally remember it!<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p class=\"excerpt\">In case you really need to know free space on a ZFS filesystem read: Confusion with used\/free disk space in ZFS &#8211; oshogbo\/\/vx<\/p>\n<p class=\"more-link-p\"><a class=\"more-link\" href=\"https:\/\/monodes.com\/predaelli\/2019\/08\/29\/confusion-with-used-free-disk-space-in-zfs-oshogbo-vx\/\">Read more &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"link","meta":{"inline_featured_image":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[72],"tags":[247],"class_list":["post-5915","post","type-post","status-publish","format-link","hentry","category-documentations","tag-zfs","post_format-post-format-link"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6daft-1xp","jetpack-related-posts":[{"id":13278,"url":"https:\/\/monodes.com\/predaelli\/2025\/05\/03\/13278\/","url_meta":{"origin":5915,"position":0},"title":"Capisci che la de-duplicazione dei\u2026","author":"Paolo Redaelli","date":"2025-05-03","format":false,"excerpt":"Capisci che la de-duplicazione dei filesystem come ZFS \u00e8 una cosa bella quando continui a ricevere ogni settimana per anni documenti con incluso lo stesso encapsulated Postscript da quasi sedici megabyte che salvato in SVG diventano cinque kilobyte. Se solo la de-duplicazione non richiedesse cos\u00ec tante risorse per compensare la\u2026","rel":"","context":"In &quot;Mood&quot;","block_context":{"text":"Mood","link":"https:\/\/monodes.com\/predaelli\/category\/mood\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":7206,"url":"https:\/\/monodes.com\/predaelli\/2020\/05\/12\/how-to-increase-the-size-of-a-linux-lvm-by-expanding-the-virtual-machine-disk\/","url_meta":{"origin":5915,"position":1},"title":"How to Increase the size of a Linux LVM by expanding the virtual machine disk","author":"Paolo Redaelli","date":"2020-05-12","format":false,"excerpt":"How to Increase the size of a Linux LVM by expanding the virtual machine disk How to Increase the size of a Linux LVM by expanding the virtual machine disk Posted by Jarrod on December 12, 2012 Leave a comment (284) Go to comments This post will cover how to\u2026","rel":"","context":"In &quot;Documentations&quot;","block_context":{"text":"Documentations","link":"https:\/\/monodes.com\/predaelli\/category\/documentations\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":492,"url":"https:\/\/monodes.com\/predaelli\/2015\/06\/28\/growing-your-virtualbox-virtual-disk\/","url_meta":{"origin":5915,"position":2},"title":"Growing your VirtualBox Virtual Disk","author":"Paolo Redaelli","date":"2015-06-28","format":false,"excerpt":"Most people simply had to deal with proprietary software that more or less runs exclusively on Microsoft OSes. For example when I bought my Dell laptop I used the Microsoft license that I grudgingly had to bought to create a fully legal installation into a virtual machine as the physical\u2026","rel":"","context":"In &quot;Microsoft&quot;","block_context":{"text":"Microsoft","link":"https:\/\/monodes.com\/predaelli\/category\/microsoft\/"},"img":{"alt_text":"low-disk-space","src":"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2015\/06\/low-disk-space1.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":10706,"url":"https:\/\/monodes.com\/predaelli\/2023\/08\/13\/dutree-analyze-file-system-disk-usage-in-linux\/","url_meta":{"origin":5915,"position":3},"title":"dutree &#8211; Analyze File System Disk Usage in Linux","author":"Paolo Redaelli","date":"2023-08-13","format":"status","excerpt":"I used to run du -hsc \/ |sort -hr | less but it seems that people needs this dutree is a free, open-source command-line tool for analyzing disk usage, written in Rust programming language that reports disk usage in a tree-like format. Source: dutree - Analyze File System Disk Usage\u2026","rel":"","context":"In &quot;Software Libero&quot;","block_context":{"text":"Software Libero","link":"https:\/\/monodes.com\/predaelli\/category\/software\/software-libero\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":8844,"url":"https:\/\/monodes.com\/predaelli\/2021\/10\/18\/how-to-run-shell-script-as-systemd-service-in-linux\/","url_meta":{"origin":5915,"position":4},"title":"How to Run Shell Script as Systemd Service in Linux ?","author":"Paolo Redaelli","date":"2021-10-18","format":false,"excerpt":"How to Run Shell Script as Systemd Service in Linux ? Here, we will make a manual script which will act like a process to find disk utilization of the Linux system. To begin, Make a bash script that redirects date and disk utilization in a file. You can create\u2026","rel":"","context":"In &quot;Tricks&quot;","block_context":{"text":"Tricks","link":"https:\/\/monodes.com\/predaelli\/category\/documentations\/tricks\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":11453,"url":"https:\/\/monodes.com\/predaelli\/2024\/03\/09\/11453\/","url_meta":{"origin":5915,"position":5},"title":"399Mb for tabby terminal... is\u2026","author":"Paolo Redaelli","date":"2024-03-09","format":"status","excerpt":"399Mb for tabby terminal... is just too much... Therefore sudo apt purge tabby-terminal The following packages will be REMOVED:tabby-terminal*After this operation, 399 MB disk space will be freed.","rel":"","context":"In &quot;Debian&quot;","block_context":{"text":"Debian","link":"https:\/\/monodes.com\/predaelli\/category\/debian\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/5915","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/comments?post=5915"}],"version-history":[{"count":0,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/5915\/revisions"}],"wp:attachment":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/media?parent=5915"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/categories?post=5915"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/tags?post=5915"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}