Skip Navigation
63 comments
  • @pewgarseemsimandroid systemd has a lot of really good things...
    But it's too complex for init process and even too complex for service manager. Many solib dependencies causes long start, big memory footprint and possibe security issues. Many things might be implemented in some separate services, running with restricted permissions and optionally disabled.
    initng was very similar to systemd, but was very simple and very much faster

  • Try to pass init=

    <path to any other init system>

    and you'll see reduced RAM usage. Systemd is bloated.

    • Hell, pass init=/bin/yes and you'll see even more greatly reduced RAM usage!

       undefined
          
      ❯ ps aux | grep /usr/lib/sys | awk '{print $6}' | sed 's/$/+/' | tr -d '\n' | sed 's/+$/\n/' | bc
      266516
      
        

      So that's 260 MiB of RSS (assuming no shared libs which is certainly false) for:

      • Daemon manager
      • Syslog daemon
      • DNS daemon (which I need and would have to replace with dnsmasq if it did not exist)
      • udev daemon
      • network daemon
      • login daemon
      • VM daemon (ever hear of the principle of least privilege?)
      • user daemon manager (I STG anyone who writes a user daemon by doing nohup & needs to be fired into the sun. pkill is not the tool I should have to use to manage my user's daemons)

      For comparison the web page I'm writing this on uses 117 MiB, about half. I'll very gladly make the tradeoff of two sh.itjust.works tabs for one systemd suite. Or did you send that comment using curl because web browsers are bloated?

      For another comparison 200 MiB of RAM is less than two dollars at current prices. I don't value my time so low that I'll avoid spending two bucks by spend hours debugging whatever bash scripting spaghetti hell other init systems cling onto to avoid "bloat". I've done it, don't miss it.

  • I've used both runnit and systemD and I prefer systemD. Nothing against runnit and I love Void Linux.

63 comments