• 0 Posts
  • 39 Comments
Joined 3 years ago
cake
Cake day: June 20th, 2023

help-circle

  • I see. My concern was with security scanning tools often put on computers by enterprise IT departments but it sounds like that’s not the case here.

    In your situation, assuming you’re not finding what you seek with journalctl, I think I would use a tool like vmstat or sar to collect periodic snapshots of CPU, memory, and io. You can tell it to collect data every X seconds and tee that to a file. After you reboot you can see what happened leading up to the crash. You should be able to import the data into a spreadsheet or something for analysis, but it’s not very intuitive and you’ll need to consult man pages for the options and how to interpret them.

    There are a lot of good suggestions in this thread. I would lean towards a hardware or driver issue, maybe bad RAM. Unfortunately these things take a lot of trial and error to figure out.


  • It may not be the raw RAM usage.

    My first suspect is the Windows VM especially if it’s running enterprise security software 4GB is probably not enough for modem Windows and it could be trying to use its page file, thrashing your disk in the process.

    Are you able to collect some data from system monitor on paging and disk activity? That could help you narrow it down. You can use btop for a quick terminal option if your gui is non responsive (assuming your could switch to a console). Vmstat is another option that you can run in the background to collect stats over time, but it’s not user friendly.






  • Thank you for the recommendation. I would consider it again if my day job switched to Linux (unlikely).

    I did try Rider on Linux a while back, but just couldn’t get my head around it. I’ve become too used to Visual Studio on Windows (with Resharper).

    I don’t do a lot of C# outside of my day job, though, so VS code is fine for my uses.




    1. Some kind of monitoring software, like the Grafana stack. I like email and Discord notifications.
    2. The Dockerfile will have a HEALTHCHECK statement, but in my experience this is pretty rare. Most of the time I set up a health check in the docker compose file or I extended the Dockerfile and add my own. You sometimes need to add a tool (like curl) to do the health check anyway.
    3. It’s a feature of the container, but the app needs to support some way of signaling “health”, such as through a web API.
    4. It depends on your needs. You can do all of the above. You can do so-called black box monitoring where you’re just monitoring whether your webapp is up or down. Easy. However, for a business you may want to know about problems before they happen, so you add white box monitoring for sub-components (database, services), timing, error counts, etc.

    To add to that: health checks in Docker containers are mostly for self-healing purposes. Think about a system where you have a web app running in many separate containers across some number of nodes. You want to know if one container has become too slow or non-responsive so you can restart it before the rest of the containers are overwhelmed, causing more serious downtime. So, a health check allows Docker to restart the container without manual intervention. You can configure it to give up if it restarts too many times, and then you would have other systems (like a load balancer) to direct traffic away from the failed subsystems.

    It’s useful to remember that containers are “cattle not pets”, so a restart or shutdown of a container is a “business as usual” event and things should continue to run in a distributed system.



  • I speak standing on a hill if my own dead projects. Just remember personal projects are supposed to be fun and educational, maybe with a little resume padding for good measure. Scratch that itch you can’t get to at work. It’s great when other people enjoy them, but as soon as they become a commitment, they start feeling like work. To me, at least.

    That’s why I think games or little tools are great. They small enough so you can throw them out and start over. People won’t get (too) mad if you stop maintaining them (if you open source them) because it’s easy for someone else to take over.



  • True open source products are your best bet. TruNAS and Proxmox are popular options, but you can absolutely set up a vanilla Debian server with Samba and call it a NAS. Back in the old days we just called those “file servers”.

    Most importantly, just keep good backups. If you have to choose between investing in a raid or a primary + backup drive, choose the latter every time. Raid will save you time to recover, but it’s not a backup.





  • This is one of the reasons I prefer using ctrl-insert/shift-insert when it’s available. Unfortunately the Insert key seems to have disappeared from a lot of keyboards. Scroll lock sometimes works instead of ctrl-s and ctrl-q. I would be ok remapping ctrl-c to ctrl-break, but I still use ctrl-z to background a job. Would be great if terminals had a quick easy way to select your preference of Microsoft, unix, or CUA shortcuts.


  • I have a DS923+ with four Seagate 8TB drives in it that I really like. It’s easy to use and offers a lot of services.

    However, like others have said, I do not recommend it for new purchases. If I were to do it again I would most likely set up an old PC as a server (though I went with the Synology mainly for power use reasons).

    Synology is getting increasingly customer hostile, and from what I’ve read online their Linux version is so full of bespoke patches that they have painted themselves in a corner it will be hard to get out of. So, they’re likely to fall behind on keeping up with third party software. Their software is usually pretty slick and easy to use, but they discontinue things every few cycles.

    The main thing I still use of theirs is Synology Drive, which was a pretty seamless move from Google Drive. On the flipside, their stuff is proprietary, so getting off of their platform can be challenging.

    For my self-hosting needs I try not to tie anything to the Synology and just use it as a plain NAS. I use my Raspberry Pi or a VM instead.