 Time here for Lauren systems and it is August of 2023. I'm hoping there's a future where this video is irrelevant But it's very relevant right now if you're running to your nascale And that is the problem with zfs arc caching by default in sure nascale This is a Linux problem not specifically true nascale So true nascale being based on Linux has inherited this problem that does not exist in BSD by the way And that is the arc cash being set to 50% usage if you have a 128 gigs around Let's go further 512 gigs around divide that by two that is the default setting in true nascale for how much arc cash Can be allocated that's kind of wasteful. You're probably thinking and you would be correct But that is the way linux is designed to work with zfs, but it can be fixed and overwritten But there are risks. That's why it's not automatically fixed or overridden now in the BSD system It will allocate any unused memory and then Reallocate that memory back if you have something else that needs it BSD has really solved this problem It seems to be a lower priority to solve it in a Linux kernel I'm sure there's a future where it solves but as I stated in beginning This is the current present we have to live in where it's not now I've mentioned before my zfs cash is in use and people have Commented on videos and I just say hey set the arc size But I wanted to do a video on how to set the arc size because it's really simple to do So let's just jump over to what needs to be done to get this set so you can not have the problem But this does come with a warning if you set it and then you have services such as virtual machines or applications that need that memory back You will find yourself probably in a crashing condition So you want to manually set it to how much memory you would like to allocate to arc But then leave room for any other things you want to run or maybe you have very few applications And that's kind of my case that need any memory So I can set it to most of my memory and let's cover how that works Now here's my true nasty system that is actually Injusting the recording we're doing so I cannot change or set these parameters and then reboot and show you because that would break the recording But you can see I'm using 46 gigs in this particular zfs cash, which is more than half of the memory It's actually set to 50 gigs total. So this is all I'm using for services is 11 gigs So I do run on the edge for if I turned on any more services I would have a problem. I do have another system that I rebooted recently This is that Zima board, which I did a review on runs to your nascale quite well And after a press reboot nothing's in the cache But nothing will fill up beyond half of this value and with only about eight gigs of memory in here That's not very much But maybe that's too much and we want to set it to even lower the parameters work both ways The parameter we're going to be setting is right here. It is in sys module zfs parameters zfs arc max Don't worry. I'll leave a link below so you don't have to try to read this off the screen And if we look at what it's set to the default is zero by setting it to zero It doesn't mean set the zero cache. It means use the default Which is only going to be 50 of the memory now Let's say we wanted to set it to two gigs you actually have to express it in bytes So this right here will multiply out So two gigs can become the proper number of bytes that we need in order to get this to work I also will leave a link to a calculator here so we can put the number two in And that comes up with that same number and what we want to do is Echo that number right into the zfs arc max Now when you do this and we're going to go back and just look at it now We see the parameters been set But of course this will only work until you reboot the system and let's show you how to make that permanent So we go here and we're just going to copy the command Then we're going to go into our trunet system. We're going to go system settings. We're going to go to advanced In it shut down Hit okay to the warning. This is going to set arc size It's a command the command is we're just going to paste that same command in from there when posting it Enable don't worry about the timeout hit save That's all you have to do now So every time you reboot the system it will put this command in Now I can imagine there will be a time when true nas decides to add this just as a parameter So we can just drop it in and click it instead of having to go in and do an advanced command And echoing and set that arc option But that is the option that works right now And hopefully as I said, there's a future where this is completely irrelevant And they've solved all the little buggy issues that may come around with Auto allocating and auto expanding memory like they do in bsd But hey, we're not there here in august of 2023 So this is the solution to that problem to make your true nas scale more efficiently use the memory But as I said, make sure you don't over allocate You'll probably end up crashing the system and causing yourself some drama So you don't want to set it to the max amount of memory Make sure you leave enough overhead for the applications that you're going to be using Or virtual machines or whatever is running on your true nas scale system Leave your thoughts and comments down below love hearing from you I will leave a link to the forum post and a bug report on this For those of you that want to read further on it and you can even dive into the topic of fragmented Memory in linux and some of the challenges that come with it There's some fun articles as I said, I will be linking to if you want to dive deeper Or you just copy and paste the command and throw it in If you'd like to see more content on this channel, like and subscribe If you want to connect with me, however, to forums.lauranceystems.com Or head over just to lauranceystems.com and whatever socials I'm available on When you're watching this video is where you can find me. All right, and thanks