Is it taxing on the mac computers' performance to have multiple user accounts and not log out of them?

I have separated my digital life into 2 user accounts on my macbook into work and personal. In order to switch between these two accounts more easily I usually lock the screen and switch to the other account without logging out.

I was curious if this is costly on my machine's performance? One other way I'd like to ask this question is, do you think mac OS stores a "snapshot" of the user account in the storage to be reopened when you unlock the account? or is it taking up space in the memory this way?


macOS is a multi-user system so any application opened by any user stays open til it gets closed. You can have a look at Activity Monitory to see that even with just one user logged in there is a lot of additional stuff going on in the background. A lot of these processes usually sleep/wait for any input, the same is valid for user applications which often are sleeping (with their memory swapped to disk) if they aren't actively used.

If you have a set of applications (i.e. M, N, O, X, Y, Z) you regularly use it doesn't make a significant difference on memory or CPU needs whether you use all of them within the same account or use Fast User Switching to switch between account A (running applications X,Y, Z) and account B (running M, N, O).


The answer is it depends on what you do under each profile.

There is no snapshot as such, but any processes (Programs) that you have running under each account will keep running under these credentials in the background as you switch between the accounts but don't log out.

The hit to performance by having two accounts and using your macbook like this depends on what type of programs you are running under each account and if they are processor or memory intensive. If you do run memory and processor intensive applications under either account you may experience degraded performance.

My recommendation would be to log out the account you are not using and logging back in when you need it that will save on both memory and processor cycles. If you don't experience a noticeable slow down with the both accounts logged in it may be faster and easier for you to just let both of them be "logged in".

You can use the commands top -o cpu to dynamically view which applications are using the most memory and ps aux|grep <username> to see what applications are running under each user profile. top will also show you the memory usage and you can sort by memory if you like.

The Activity Monitor app will also show you how much CPU and memory is being used by each account.