Came across this video on YouTube which seems to suggest that it certainly can - rather worrying really and has led to me abandoning GhostBSD for the while, and going back to using Ext4 on a Linux Mint Xfce single disk laptop:

https://www.youtube.com/watch?v=V7V3kmJDHTA

Is there any awareness of this issue amongst the GhostBSD devs? In the comments section of the video it is suggested that ZFS is not good for use in a single SSD desktop/laptop.

Would be nice if we at least had the UFS option to fall back on. Don't think Ext4 is supported in the FreeBSD kernel is it?

    antony Came across this video on YouTube which seems to suggest that it certainly can - rather worrying really and has led to me abandoning GhostBSD for the while, and going back to using Ext4 on a Linux Mint Xfce single disk laptop:

    https://www.youtube.com/watch?v=V7V3kmJDHTA

    Your mind seems set on the issue, but I think you misunderstood the video. ZFS is not as bad as the video makes it seem, and there’s a reason GhostBSD uses it over UFS. I will take the time to explain this so people understand why GhostBSD is built around ZFS.

    GhostBSD is built around ZFS Boot Environments (BE), which UFS and Ext4 do not support. This allows users to take snapshots before updates and roll back if something goes wrong—a major advantage for system stability.

    ZFS also ensures data integrity with checksumming, preventing silent corruption—something UFS and Ext4 lack. Additionally, ZFS provides automatic snapshots, compression, and better file management, making it far more resilient and flexible.

    The concerns about SSD wear in the video are overstated. All filesystems contribute to SSD wear over time, including UFS and Ext4. While ZFS writes more metadata due to copy-on-write and checksumming, this ensures data reliability and prevents silent corruption. UFS and Ext4 generate extra writes through journaling or soft updates but lack the same level of protection. Modern SSDs are designed to handle high write workloads, and their longevity depends more on SSD quality, firmware, and workload than the filesystem used. ZFS may write differently, but it is not inherently more harmful to SSDs than UFS or Ext4. For GhostBSD, the benefits of data integrity, snapshots, and system recovery far outweigh concerns about write behavior, making ZFS the better choice.

    antony Is there any awareness of this issue amongst the GhostBSD devs?

    Yes, we are aware of the concerns, but ZFS on GhostBSD is not used the same way as in the video. The test reflects a different workload, while GhostBSD optimizes ZFS for stability, Boot Environments, and snapshots without excessive SSD wear. We also continue to refine ZFS for better performance on desktops and laptops.

    antony In the comments section of the video it is suggested that ZFS is not good for use in a single SSD desktop/laptop.

    I don’t know how many times I’ve heard that, yet I’ve used ZFS on a single SSD for years without issue. My oldest SSD is about 7 or 8 years old and still working fine.

    ZFS is not as bad for SSDs as people claim—modern SSDs are designed to handle high write workloads, and many concerns about ZFS wearing down SSDs are outdated or exaggerated. Unlike older SSDs with lower endurance, today’s drives use wear leveling, overprovisioning, and TRIM to distribute writes efficiently across memory cells, reducing excessive wear.

    ZFS itself has features that help manage writes effectively. Compression reduces the amount of data written to disk, extending SSD lifespan. TRIM support ensures that the SSD can properly reclaim unused blocks, preventing performance degradation over time. Copy-on-write (CoW) may increase metadata writes, but it also prevents corruption and eliminates the need for a traditional journaling system, which can also contribute to writes on filesystems like Ext4 or UFS.

    In the end, SSD quality matters far more than the filesystem used. A high-end SSD with a well-optimized controller will last significantly longer than a budget drive, regardless of whether it runs ZFS, UFS, or Ext4. ZFS does not inherently degrade SSDs—it simply manages data differently, prioritizing reliability and integrity over raw write minimization.

    antony Would be nice if we at least had the UFS option to fall back on. Don't think Ext4 is supported in the FreeBSD kernel is it?

    GhostBSD previously offered UFS as an option, but we decided to focus on ZFS because of its reliability, flexibility, and Boot Environments (BE), which UFS does not support. ZFS provides automatic snapshots, rollback capabilities, and data integrity checks, making it a much better fit for a desktop OS that prioritizes stability.

    While UFS is a simpler filesystem, it lacks modern features like checksumming to prevent silent corruption. Boot Environments, which allow users to roll back after updates or system changes, are a key reason why ZFS is the default in GhostBSD. Given the advantages ZFS provides, we are not going back to UFS as an option.

    As for Ext4, it is not supported in the FreeBSD kernel for regular use. While FreeBSD can mount Ext4 partitions for reading and limited writing, it does not offer full compatibility like Linux.

    Thanks very much for your thorough reply Eric, I appreciate it. Missing GhostBSD already to be truthful - internet performance definitely seems slower using Linux.

    Good to hear your personal experience using SSDs with ZFS. The video did state however that ZFS in it's default state performs twice as many writes as a more traditional filesystem, which does seem an awful lot. I recognize some of the benefits you mention such as snapshots, but Linux Mint does provide similar technology via the 'Backup Tool' - not as efficient as using ZFS snaphots, but available nonetheless. Think the author of the video did mention that you could disable sync on ZFS but then you would probably lose some of it's benefits and the ability to recover from crashes/disasters etc.

    On balance I will probably return to GhostBSD -> you've made it so easy & fast to reinstall that this is not really a trial anymore and in fact something to look forward to, I'm always amazed at how much can be installed in such a short time! Still would feel happier if UFS was still an option (monocultures are rarely a good idea!) - I read online somewhere that Netfix still uses UFS & achieves incredible amounts of throughput on a BSD system - still not possible on a Linux based system. That was some time ago tho' and might have changed since.

    On a slightly different note Eric I tried installing an Xfce desktop on FreeBSD and though the base system install went fine, no matter how hard I tried, I just couldn't get X to boot - just kept hanging with a blank screen. So thanks very much to you and your team for making this such an easy thing to do now -> not a trivial thing at all.

      antony
      ZFS's trade-offs in write amplification are often outweighed by its data integrity, snapshots, and long-term reliability. The easier administration and built-in redundancy make it a solid choice for keeping data safe for decades.

      Netflix did use UFS for high-throughput workloads, but their setup constantly evolves. While Linux has improved, OpenZFS on BSD still offers a strong advantage in filesystem handling, especially for reliability and performance.

      Here is another assessment with other filesystems.

        Data integrity, snapshots, and long-term reliability are essential for desktop users. It is worth noting, regardless of the filesystem, a robust backup and restore system is vital for ensuring data protection and recovery.

        Thanks for all the info on the benefits of ZFS - this and especially Eric's personal experience of the longevity of his SSDs using ZFS has encouraged me to return to GhostBSD.

        Sending this post from my fully installed GhostBSD laptop! Just prefer it to Linux Mint.

        One small thing that has got me puzzled tho' - what has happened to 'pom' (phase of moon command). Has always been present in GhostBSD til now - it's still a part of the FreeBSD base system. Not even available in the bsdgames pkg which it often is. Pity really as I love pom along with calendar and fortune - quirky little fun programs which help differentiate BSD systems from other more boring OSes.

          antony Hmm, it appears to have been dropped from bsdgames.
          pom is a small, simple app. Here, I wrote this in Go to help.
          Installation:
          - Install Go.
          - Save the following code as pom.go.
          - Run: go build -o pom pom.go
          - As root, copy the pom binary to /usr/local/bin/.


          '

          package main
          
          import (
           "flag"
           "fmt"
           "math"
           "time"
          )
          
          func moonPhase(t time.Time) float64 {
           reference := time.Date(2000, 1, 6, 18, 14, 0, 0, time.UTC)
           daysSinceReference := t.Sub(reference).Hours() / 24.0
           lunarCycle := 29.53058867
           
           phase := math.Mod(daysSinceReference, lunarCycle) / lunarCycle * 100.0
           if phase < 0 {
           	phase += 100
           }
           return phase
          }
          
          func main() {
           var dateStr string
           var timeStr string
           var percentageOnly bool
          
           flag.BoolVar(&percentageOnly, "p", false, "Print just the phase as a percentage")
           flag.StringVar(&dateStr, "d", "", "Specify a date in yyyy.mm.dd format")
           flag.StringVar(&timeStr, "t", "", "Specify a time in hh:mm:ss format")
           flag.Parse()
          
           var t time.Time
           var err error
          
           if dateStr != "" {
           	layoutDate := "2006.01.02"
           	t, err = time.Parse(layoutDate, dateStr)
           	if err != nil {
           		fmt.Println("Invalid date format. Use yyyy.mm.dd.")
           		return
           	}
           	if timeStr != "" {
           		layoutTime := "15:04:05"
           		timeParsed, err := time.Parse(layoutTime, timeStr)
           		if err != nil {
           			fmt.Println("Invalid time format. Use hh:mm:ss.")
           			return
           		}
           		t = time.Date(t.Year(), t.Month(), t.Day(), timeParsed.Hour(), timeParsed.Minute(), timeParsed.Second(), 0, time.UTC)
           	} else {
           		t = time.Date(t.Year(), t.Month(), t.Day(), 0, 0, 0, 0, time.UTC)
           	}
           } else {
           	t = time.Now().UTC()
           }
          
           phase := moonPhase(t)
          
           if percentageOnly {
           	fmt.Printf("%.2f\n", phase)
           } else {
           	fmt.Printf("Moon phase on %s: %.2f%%\n", t.Format("2006-01-02 15:04:05 UTC"), phase)
           }
          }

          Cheers mate, appreciate it, will give it a 'go'!

          Never tried programming in Go -> have used BASIC, Pascal, Modula-2, a little C, a touch of Rust & a bit of Python.

          antony what has happened to 'pom' (phase of moon command)

          You need to install GhostBSD-games.

          sudo pkg install GhostBSD-games

          Ah, thanks very much Eric - great to see.

          Noticed that the pkg also includes grdc (grand digital clock) - another quirky little program featured under 'Sundry Amusements' in the (Kindle) book 'BSD Hacks ~ 100 Industrial-Strength Tips & Tools' by Dru Lavigne.

          Being too lazy to optimize is not a valid engineering excuse. ;-)

          grahamperrin Hi Graham, used 14.2 DVD ISO to install base system, got internet up & running (tethered Android phone believe it or not!), then installed X and Xfce ok, permissions were 'wheel operator video' I think. Used video from YouTube (Techiechap or RoboNuggie) along with the latest edition of the FreeBSD Handbook to try & get Xfce to start - tried all the obvious things I could think of but to no avail - just a black screen in some kind of graphics mode with a large white block at upper left of screen (cursor of some kind?) but totally unresponsive & had to reboot each time. Wasn't prepared to go as far as modifying X settings - too much of that in the early days of Linux!

          Might give it another go sometime, but only in a VM, until I thoroughly understand the process.

          (This) Acer Aspire 5 Laptop with full HD graphics:

          • CPU: 11th Gen Intel i7-1165G7 (8) @ 2.803GHz
          • GPU: TigerLake-LP GT2 [Iris Xe Graphics]

          Think FreeBSD take-up would be hugely accelerated if there were a few pre-installed live desktops available, like most Linux distros nowadays and the magnificent GhostBSD!

          grahamperrin Very interesting stuff - encapsulates perfectly some of the issues involved.

          Here's a couple of screen-grabs I took of a Netflix engineer explaining their use of FreeBSD over Linux: