I have a QNAP TS-253D (Celeron J4125, 4GB RAM) hosting all my files. I used to have Jellyfin running on it in a Docker container, but it performed really poorly (which is expected ig). It used to take forever to stream a 1080p movie, and seeking back and forth would freeze the whole thing.
Then I moved my Jellyfin setup to my desktop PC (i9-10850k, 16GB RAM, 2080 Super), the files are still on my NAS. It performs much better now, streaming is a breeze and it almost never freezes or anything.
Problem is, it eats up all my RAM. My RAM usage is 99% almost all the time someone uses Jellyfin and it significantly hampers my regular work on my desktop. I can upgrade my RAM to 32 or 64 GB, but would that solve the problem?
If not, what is the cheapest mini PC or home setup that I can do that’d free up my desktop but still give me similar or at least good enough performance?
Thank you for your advice.
Fyi this sub here is about selfhosting software services, not about any hardware purchase or upgrade advice.
Consider subs like /r/HomeServer /r/Homelab /r/BuildaPC for that.
Then you goto homelab and homeserver and they tell you X and Y things and bitch and moan about power usage. Or they suggest things that logically don’t line up with what OP wants/needs. Or they will say lines like “for just a little more” about 10 times until a build is $1000 or more.
Lets try to be helpful instead of just pushing people other places…hmm?
Very odd: on my computer it never uses more than 1GB of RAM. As for the limitations of your first setup, that sounds like a bottleneck when it comes to transcoding, which can occur because of a lack of GPU or CPU power, depending on whether or not you had hardware acceleration enabled. I would expect it to run much better on your new setup, but the RAM thing is worth investigating. I was running Jellyfin on 12GB of RAM until recently, and never hit 100% usage.
Are you running any 4k content or just 1080p? How many users?
I don’t have any 4k content. Maybe one or two movies among a thousand. I have about 4 regular users.
Map this guy to your NAS. Load up Plex/Jellyfin dockers with /dev/dri mapped for Intel QuickSync. Nice and easy.
I run Plex in Unraid on a 6th Gen i7 with zero perf issues and also only using the iGPU. Multiple concurrent streams no problem.
Something is wrong if Jellyfin is using more than 2gb max.
Running Jellyfin on my old Pentium E5200 (dual core), 4 GiB memory. I use FreeBSD with ZFS, but I use AppJail to manage my FreeBSD containers (>15). It works very well. There is no performance difference between containers and host (at least on FreeBSD): Jellyfin consumes up to 400-500 MiB of memory with a single client, a bit more when some other client wants to play a movie, but in general I use movian on my PS3 or the Jellyfin app on my android device. When I rewind or fast forward the movie it only hangs 1 or 2 seconds depending on network traffic (in general the rate is low) but I think the Jellyfin app or Movian prefetch chunks of the movie and caches it to improve performance a bit. I think the other thing that helps me not to consume a lot of my resources is that my movies are usually of decent quality, but not the best, as they are either classics or too recent to be of decent quality.
I don’t test the following because I don’t need to, but maybe it can be useful to you:
Raspberry pi zero is the cheapest server I ever built. It ran like crap but it was fine for hosting any audio. My idea was to just have it with a usb drive plugged in hosting away but then I figured I may as well just use my Mac because it was on anyway.
Probably a used enterprise HP/Lenovo/Dell mini or sff pc (e.g. Hp Elitedesk or Lenovo thinkcentre). The 7th gen Intel CPU’s would be the sweet spot between price and streaming performance I think. They can be had for $50-80.
I use a stack of old, retired laptops, including one from 2010, that I installed Gentoo on and setup Xen as the Dom0 hypervisor. From there, Podman and Kubernetes, and then containerized plex. I’ve never had any problems.
I use a beelink mini s w/ an N5095 Jasper Lake processor and 8GB RAM. Hardware acceleration supported for the vast majority of my media, and I can do 2-3 simultaneous streams without issue (I haven’t tested higher since it’s usually just my wife and I streaming).
How is your RAM being used? Look at CPU-X in the “System” tab. If the memory is mostly used for buffers and cache then it’s not a problem, you want it to be used like that.
I ran my NAS for years off an i5 (Kaby Lake) with 4 GB of RAM and 32 GB of NVMe storage and it handled any of the usual media servers just fine. I’ve used them all, Plex, Emby and now Jellyfin.
Have a look at this table, get the cheapest used Intel CPU you can find that fits your transcoding requirements, slap it on a board with enough SATA connectors and 4 GB of RAM and you should be good to go.
Docker should not have a large impact, I have 15 containers running right now and they only use 2.5 GB of RAM in total (for reals, without buffers/cache).
Running Emby on my TS-251+ with 2gb of ram.
Could be snappier when browsing my library but not a single issue streaming 1080p.
Raspberry pi 4 (4gb) with only direct stream/direct play. Works perfectly as long as the media is compatible
I run Plex on an N100 MiniPC, including hardware transcoding. I have the media in another system running TrueNAS.
How do you connect the 2 machines together? This is something I’ve been interested in doing so I can technically keep expanding by adding more “carriers”.
Export the files via SMB on the NAS and mount them on the Plex server.
On Linux, use NFS. SMB is best for Windows, FYI.
Transcoding what? UHD? Atmos? Or something else.
I’m looking for a cheap solution since 1 tv in my household needs those files transcoded and my NAS can’t 😞
4k x265 down to 1080p (x264). Basically any Intel CPU that supports quicksync can do several simultaneous hardware transcodes.
Make sure you get a box that can be upgraded to at least 32GB, made that mistake got the beelink s12 pro, not enough with 16GB.
Because of jellyfin? Mine is restricted to 3GB and runs happily on raspberry pi 4. I’ve even had it run on 2GB pi4 and it only struggled occasionally.
16 runs fine for me. I transcode to an SSD and run home assistant and airsonic and emulatorjs and immich and frigate and monitoring software like glances and uptimekuma and and and.
Ram is at 70%, could use more, 8 isn’t enough but 16 will get you going
Oh, I don’t want the SSD to die. Transcoding to ram and caching Rclone with buffer to ram also. Have at least 10 users to share with my Plex.
if it’s just plex i’ve been running it on an old laptop with 16gb soldered ram and it runs everything without issues
There are a TON of ways you can do this. Since you have a NAS already it makes it super easy. You just need a tiny desktop for about $100 and you are golden.
Look on ebay for one of those mini desktops from HP/Dell/Lenovo. The one thing though is you will need to find one that has a CPU that supports quicksync. So 7th gen or newer. So you want to find as far up the chain as you can.
They are:
- HP Prodesk
- Dell Optiplex
- Lenovo Thinkcenter
This is the cheapest way to get away with it.
There may also be an option to use one of the Intel Arc cards with a cheaply built desktop for quicksync support. But I have not seen anything related to comparing them to on die quicksync. I would be especially curious on the cheaper option from Arc and how well it works for video encoding.