As many people who stream their media from servers can attest to, there is nothing more frustrating then when you unexpectedly start experiencing stuttering while playing back media. Although setting up a network is not relatively difficult, troubleshooting issues can be, especially since there are many variables involved. Problems could stem anywhere from bad cable lines, faulty switches, and failing hard drives to name a few. A few months ago I started experiencing issues with heavy stuttering during playback of my BluRay rips from my Windows Home Server to various machines in my house. After pulling my hair out for days I discovered that the culprit was a new drive I had installed in my Windows Home Server. The Samsung Spinpoint FE4 drive is based on the new Advanced Format technology and was wreaking havoc with my Server. Once I pulled out the drive my server and streaming performance went back to normal.
I thought everything was fine until the last two weeks. I watched four BluRay movies streamed to either my Dune BD Prime or HTPC and each movie exhibited some stuttering. The stuttering would last for approximately 30 seconds and then go away, and occurred anywhere from 1-4 times throughout the movie. I went over to my Windows Home Server, looked through the logs and my drive data, and nothing stood out as causing the issue. I then remembered there was frequent discussion about a process in Windows Home Server called Demigrator.exe, which is responsible for moving data around the pooled drives when duplication is enabled. This process runs hourly and simply doing a web search for “Demigrator” will pull up quite a few posts from WHS users who have noted that streaming HD content while demigrator is running causes playback issues such as stuttering. It is hard to pin down exactly the cause though as not every WHS user experiences this, and there doesn’t seem to be any consistent factor. Since my stuttering symptoms seem to be consistent with what other users reported with demigrator, I decided to take a shot at disabling demigrator.This guide is nothing new as the ability to disable demigrator has been documented for a while, but I thought it might be work documenting my experience.
PLEASE NOTE – disabling any service in Windows Home Server may cause instabilities or undesirable side effects.
1. Remote into Windows Home Server:
Most users run their Windows Home Servers headless, which means there is no keyboard/monitor hooked up to. If you happen to have a keyboard/monitor hooked up to your Windows Home Server you can skip this step. Otherwise, to access the Windows Home Server O/S you will need to remote in from another PC connected to the same network (for LogMeIn users you can simply use your LogMeIn account to access).
From your PC (I am using my Windows 7 PC) go to the Start Menu -> All Programs -> Accessories -> Remote Desktop Connection (RDC)
Once you select RDC a pop up box should appear. Enter in the name of your Windows Home Server and click “Connect”.
Now a new window should appear asking you for your credentials to log into Windows Home Server. Your username should be “Administrator”, so just enter in your password and you should now be looking at your Windows Home Server desktop.
2. Create Demigrator Bat Files and Schedule:
Using a text editor (I use NotePad++), create the following two bat files (I just saved to the desktop):
DemigratorOff.bat
@echo off
sc stop "DriveExtenderMigrator"
sc config "DriveExtenderMigrator" start= disabled
exit
DemigratorOn.bat
@echo off
sc config "DriveExtenderMigrator" start= demand
sc start "DriveExtenderMigrator"
exit
As an alternative you could set start to auto for DemigratorOn.
You can simply double click either of the bat files to manually turn on or off demigrator. However, I would prefer for this to be done automatically, so to do so let’s set up a scheduled task. I decided that I want demigrator shut off from 12PM – 12AM, and then turned back on from 12AM – 12PM. In Windows Home Server go to Start -> All Programs -> Accessories -> System Tools -> Schedule Tasks. Double click on “Add Scheduled Task”
You will be asked to choose a program to run. Click on “Browse” and navigate to one of the created bat files.
Choose when you want the bat file to run. I chose to run the DemigratorOff.bat file daily.
Set what time you want the task to run.
Now enter in your user name (should already be populated) and password
Once done you should now see the scheduled task that has been created. Do this process for each bat file created.
That is all that is needed to be done, Windows Home Server will take care of the rest. If you have successfully shut off demigrator you will be greeted by a nice message in the Windows Home Server console.
Final Thoughts:
As I mentioned earlier, I started experiencing stuttering when streaming my high bitrate content. Now why this just started happening I am not entirely sure. Maybe my data pool has grown to the point where demigrator was more taxing on my system, who knows? Now I haven’t had much chance to confirm that shutting off demigrator was the answer, but I did watch a movie the day I shut off demigrator and not once did I have any stuttering (whereas just the day prior a movie stuttered on about 3 different occasions). I will have to keep monitoring this, but hopefully this is the solution. Funny enough as I was dealing with my stuttering another forum member started experiencing the same issue (and once again everything had been working fine, but suddenly every movie he watched it would stutter). I walked him through shutting off demigrator and since then his stuttering has gone away. Now once again, I want to reiterate that any time you shut off a Windows Home Service process there is a chance for unwanted side effects. Also, if you need to remove a drive from your Windows Home Server you must turn demigrator back on (I made this mistake initially). There may be other factors at play affecting your network not related to demigrator as well, so keep that in mind.
{ 60 comments }
NICE timing…. I just today had a client call with a similar problem! I set this up for him, in this case calling the OFF as part of his task startup and the ON at the completion His problems went away as well. His application is a bit different — video monitoring. His workload had increased as he had added a camera two days ago.
He had, by the way, been advised not to add either of the last two cameras as he was really pushing the limits of his processor and his temperatures were becoming excessive. But he needed to monitor a special area due to theft concerns and ignored the advice, turning on the cameras automatically when the area is (electronically) unlocked. He caught the perpetrator within an hour and then added the second camera to get better facial images for the authorities when it repeats.
I owe you a beverage sometime!
Fantastic Guide Damian!! I had been looking for something for this for a long time. My stuttering is so random, but the times i’ve taken the time to track it down it was to this, and i was always annoyed that Microsoft didn’t let you schedule it.
Mike
Great write up Damian. Sadly we see that this is part of the reason that MS has pulled drive extender out of the next WHS product. They are simply not up to the challenge of building in data duplication and not having undesirable side effects.
The one saving grace with WHS regarding the whole demigrator mess is that at least we can manually pull our drives to get the data off if MS decides to do something crazy.
If I end up replacing my storage back end with something from Synology or Drobo we should collaborate on an article on migrating storage services off of WHS.
I’ve been fortunate to not need to do this as I don’t experience stuttering, but I can understand how frustrating it must be. Thanks for sharing your setup for this Damian.
Oh, and you need to get rid of BDBB 1.0.0.4, we’re up to 1.0.3.3 now!
Damian – THANK YOU!!! I’ve been having this issue with my NMT’s for a LONG time now and when I initially discovered this was the problem nobody knew how to turn it off based on my searches. This is PERFECT as the stuttering is not only INCREDIBLY annoying, but embarrassing when watching a movie with people after you’ve told them how great having a home server can be only to have these 30 second freeze-ups. I really love your guides!
Thanks again!!
Thanks Damian. I have experienced stuttering on my Dune HD Smarts, but only on my blu-ray streams (ISO format). The DVDs seem to stream very well. I really like your idea of scheduling the turning on and off of the demigrator service. I will set this up probably to turn itself off at about 8pm through 1am nightly as that timing may work for me. Thanks again for the thoughtful and timely writeup.
One side note. This past weekend I noticed that my 1gb network was not performing well for some reason. All of a sudden, I was only seeing about 8-9Mbit/s upload speeds to my server for no clear reason. I figured my dLink switches must of had a hiccup. So, I bounced my router and all my switches between my key devices and server and my throughput went right back to normal. When in doubt – bounce it!
tim
Hey guys – I just noticed that there doesn’t appear to be a way to remove the At Risk message (There isn’t an ‘ignore this issue’ checkbox). Are there any workarounds for removing this message? I searched in the forums, but couldn’t find anything…
Thanks, great write up, I have just captured this very issue on my box. I managed to catch it with it’s load on a graph in process explorer the CPU from maxing out the went to nothing when it finished. (got a screen dump but can’t see how to attach it?) I was deleting a duplicate file so that make sense but why grab the whole processor!
Q. Has anyone tried downgrading the priority on the service from 8 to say 6 or 4? That might help without having to resort to killing it all together and hopefully re-starting it?
Just a thought.
I would love to hear whether anyone tried out Jonathan’s idea. I would rather leave this running all the time and just reduce the required priority if possible. Anyone?
Damian ! Thanks this is perfect … I been searching forums etc but maybe you or these sweet readers can help me out .. I Just Picked up a new Ex495 to replace my launch EX475 once i found out Vail lost DE .. added a E8500 processor and 4GB Ram .. Now i want to stream Blu Rays to my Popcorn Hour C-200 .. Did you change your NIC settings ? if so what are you settings for streaming Blu Ray / Large files .. I will be extremely grateful !
Honestly, there is no need for you to mess around with your NIC settings. Are you having issues streaming?
Honestly i haven’t tried on my new setup , still moving 12 TB of my Blu Ray Back ups over .. haha at 28.0 MB/Second it is taking awhile … but my last stock EX475 was so bad i finally gave up and just moved all my Blu Ray (folders) onto a ext hard drive and played from that .. but of course i would love to have no middle man .. I will let you know if i have issues once they move over
Definitely let me know how it goes. My Dad has an EX495. Once i finally run some cat6 in his house I will probably get him a Dune as well so he can play back his media
Nice write Damian! Had I known this a year ago I probably would not have opted to get a more powerful server. My original EX470 for the most part handled things well but when DE kicked in the performance was disappointing.
DE can kick in all it wants today and fortunatly it doesn’t have any significant impact on my servers performance or none that I have been made aware of by those who I share my content with. However should an issue arrise I will put the information you have provided here to work.
What I would be very interested in hearing is if those running servers with Quad Core processors experience issues. I don’t run Quad Core processors but my server does run with Duel Opteron Duel Core processors and I am very happy with it.
My WHS is a dual core. However, I just ordered a Quad Core CPU (not related to the stuttering but for more CPU intensive tasks). I am going to leave demigrator turned back on after I upgrade the CPU and see if I get the same symptoms
What Duel core model were you using ?
I originally owned an EX470 single core for over a year (eventually sold it, it is still in commission streaming HD!!!) and built a DIY WHS. You can see my current build here:
http://www.mediasmartserver.net/forums/viewtopic.php?f=22&t=5045
I run an Q8400S in my EX490. The issue with stuttering is not the CPU but the disk contention. I like your idea of scheduling turning on/off demigrator. However what would be ‘cool’ is to have an addin/service/app that knows when you are streaming media and can turn demigrator off. Also such as app could be used to detect if other systems are on and turn off network intensive tasks.
Great guide – we’ve got a 19 page on this Demigrator and Media Streaming issue over on WGS if people want to get further background on this issue @ http://forum.wegotserved.com/index.php/topic/8335-before-you-post-media-stuttering-playback-issues-performance-irregularities/page__st__360__gopid__98558#entry98558
I have to say “thank-you” once again, Damian! My client is VERY pleased with how quickly his problem was resolved! And it HAS STAYED RESOLVED.
I did not THINK I had any problems with this but I do some video monitoring for home security (with my EX475) and every night I use it I find a clip gets cut off early. (The cats set it off at random times!) For the heck of it I let it run with the DEMIGRATOR turned off this weekend and no problems. So I’ll be adding this to my personal setup as well.
Exactly the same happened with me and read this else where. Nice write up.
The only thing i would recommend is not to use the Administrators username for the scheduled task. I would create a new user with admin rights just encase you change the admin password at any stage.
I have a QuadCore AMD Athlon II X4 610e, 4GB RAM, and experience stuttering. Unfortunately, I’m making 2 changes at the same time to hopefully fix the issue, so I won’t be able to pinopoint if this was the problem or not. The other issue had to do with settings on the client HTPC.
Just followed your guide after experiencing my first ever freezing and stuttering video. Thanks!
Hi there damian,
One thing, how did you make that awesome wallpaper?
Hi Kenneth,
If you mean the covers in the background I was running Zappiti when I took my screenshots, so it happened to be in the background.
Thanks for this information! I have been running my WHS on a Dell XPS400 with 3.0 dual core Pentium D for over a year now with not enough stuttering to matter. I just replaced two 1TB WD green drives with 2TB Samsung drives and all of the sudden I have stuttering movies randomly, like 15 to 20 times per movie. Drives are all in DMA and my gigabit wired lan doesnt seem to be the problem. It has to be these new samsung drives. Not good for my usage.
Which Samsung drives, the Spinpoint FE4?
Mine are the HD204UI drives. They came in a 4TB Esata box and I took them out and used them internally and put the old 1TB drives in the box for server backups. The add said WD green drives, which my 1TB drives are and worked fine, but ever since the “upgrade” my streaming is garbage.
It is this drive:
http://www.newegg.com/Product/Product.aspx?Item=N82E16822152245&cm_re=samsung_spinpoint-_-22-152-245-_-Product
This is an advanced format drive which is why you are having issues. I had one that brought my WHS to a crawl so I had to remove. For the WD Advanced Format drive there is a way around it by setting the jumper to 7/8 or using the realignment tool. I don’t believe there is a similar thing for the Samsung. This article offers a possible solution (http://hardforum.com/showthread.php?t=1559559). For now I just keep Advanced Format drives out of my WHS, or if I use them I would only get the WD drives since you can set the jumper
Thanks for the info. Demigrator did not fix my streaming. I am not even streaming HD, just dvd .vobs and it still freezes. I have started dragging the newer movies to my HTPC as copies, then deleting them after watching, but this is not a good solution for me. I will probably axe these drives and go back to the WD green drives that I know work. The reviews on the esata box said they came with WD green drives and that drove my purchase, but I guess they changed suppliers.
If the issue is the Samsung Drives (which I believe it is) then shutting off demigrator will not make a difference. I replaced the Samsung drive with the Seagate 2TB LP drives which I was able to get for $69. I am not sure what I am going to do with the Samsung drive since I cannot put it back in my WHS
I was hopeful that the steps in this article would resolve the stuttering issues I’ve been experiencing with my EX470 WHS. Basically, the video stutters but the audio does not; then the video accelerates to catch up with the audio. This is frustrating (as Derek mentioned above); it also doesn’t do much for the WAF.
Alas, performing these steps does not seem to have helped. The only thing that has changed is that I’m now seeing the ‘At Risk’ dialog on all of my PCs.
My EX470 has the default ST350063 500GB (Seagate?) drive and three WDC WD10 EACS 1TB drives. I have only 16% of free drive space.
A Netgear ProSafe JFS524 10/100 switch connects my WHS and my PCs.
Could the problem be with my network instead of (or in addition to) my WHS? How can I determine this? What tool(s) would I use? My ping times between my HTPC and my WHS are consistently less than 1ms, FWIW. Thanks.
I would recommend going with a gigE switch, especially if your PCs have gigE NICs. That may alleviate your issues. Also, have you confirmed that if you copy a movie directly to your PC for playback the issue goes away (just want to rule out that it isnt driver/hardware issues with your PC)
Thanks for the comments, Damian. I didn’t notice your reply until now.
If I copy videos from my WHS to my HTPC and play them there directly, I don’t encounter stuttering. I tested this again the other night.
A few nights ago, I noticed that the Backup Service on my WHS wasn’t running–so I rebooted. I also started the DE service and disabled the Scheduled Tasks that disable/re-enable the service. (So the DE service is running all the time now.) Then I played a number of videos on the HTPC, across the LAN, from the WHS. They played without stuttering.
At this point, I’m not sure what the root cause is. I think I will do some experimenting, including:
- observing whether playing videos on the HTPC, across the LAN, from the WHS, stutter again–now that the WHS has been up for a few days
- copying a few videos to another PC and then playing them on the HTPC, across the LAN, from that PC
- playing some videos on another PC, across the LAN, from the WHS
I was wondering if this problem qith DE has anything to do with the size of the data on the server. Up until a few days ago my collection was only 2.1TB when i finished ripping the rest of my dvds and the size when up to 5TB. Ever since i have experience problems on my EX487. I thought it was because it was duplicating all that new data but the problem continued even after. Of course disabling DE fixed it but the question is still in my mind. Could it be the size of the server?
Hard to say. The larger your storage pool the more data that DE has to move around, so it may make sense that it is more likely that DE will affect your system as your collection grows
I did notice something strange this weekend. Any movie that was on the server before the new drives were added stutters. Any movie that I added later seems to be much better. I then cut a movie from the server, and added it again and it played fine… strange.
May be signs of a bad hard drive in your server
Maybe just luck for me but I was watching a blueray rip last night on my new WD TV LIVE HUB, which, I had not been having any problems pulling from the server. The movie started stuttering from the beginning. Tried multiple starts and it still stuttered. I pulled the movie from the server to the internal 1 TB drive. While it was transfering I surfed over to this article. Made the BAT files and ran the OFF. After the files transfered to the internal drive, I tried again to stream from the server and NOT ONE issue for the rest of the movie. Never did used the files that was transfered. Maybe I was lucky, but it worked for me. Thanks
Glad to hear, hopefully shutting off DE was the solution
Ahhhhh .. I thought this would solve my issues but i just watched “The Other Guys” BD Backup 1:1 folder format from 15.1 TB HP 495 WHS (upgraded to 4GB RAM and E8500 3.16GHz duel core) to my Popcorn Hour C-200 via Cat 6 Gigabit , SMB… I wish i knew how to track down what the issue it came from i think maybe the PCH C-200 NIC but i can be sure but my wife wanted to throw the entire set up out the window .. i did have the Demigrator.exe shut off .. i guess i have to go back to watching everything from Ext harddrive till i can track it down .. sucks because i just upgraded from my EX475 thinking this would solve the studdering issue
Anyone else use Popcornhour C-200 ?
I do have a C-200 as well.. Let’s try a few things:
1 – Is your EX495 and C-200 connected to the same switch or are they on different switches (to try and narrow down potential issues)
2 – Have you tried streaming to your C-200 from your EX495 via http (myiHome)?
3 – Have you tried streaming to your C-200 from your EX495 via NFS?
With #2 and #3 I am just trying to determine if the issue is with how the C-200 is working over smb. I have both HTTP and NFS set up as a fall back to smb
Yeah, I’m also having issues streaming BD files as well. I haven’t turned off the DE yet, not sure if that’s the issue, as the problem is not random, but happens with hight bit rate files Like Ingloriouse basterds, BD or MKV. I’m thinking it maybe be more of network related issue, but who knows, i’ve turned the QOS off on my DIR-655, and no help. I’ll give the DE a try but will keep following these comments.
Maybe we should start a thread in the Fourm?
Definitely report back if shutting off DE helps. There are technically many forum threads already started regarding streaming issues. Since it is always hard to pinpoint what the issue is though I think that is the reason why you don’t see one main thread. If you want to start a main thread (not sure if Troubleshooting or Media Streaming would be the appropriate section?) that would be a great idea and I can link to in this writeup
Hi Damian,
Firstly, I should say that this solved my stuttering problems on my C200 from my EX470 completely. I had posted on many sites, including networkedmediatank.com to no avail until I tried this, so THANK YOU very much.
The one question I had was…what should I avoid doing when DE is off? Is it okay to be downloading a new file or ripping a new BD to the MediaSmart if DE is off? Just trying to understand the implications of having it off from 5PM to 2AM everyday.
Thanks again!
Hi Tim,
Great to hear. The person who I sold the EX470 to mentioned this solved his stuttering as well playing back on his PCH.
As far as what to avoid I honestly have not avoided any of my normal processes. The only risk that I can think of if you copied files over with DE off would be if the drive where the files were copied to failed before DE turned back on you would not have a backup copy (of course assuming you are using duplication). Once DE turns itself back on any copied files should be duplicated to another drive.
Would anyone know if it’s safe to disable demigrator if you have PerfectDisk WHS running as an Add-In in the background?
I don’t think it would be affected, but I am “ASSUME” ing and you know what that could mean!!
Could you possibly schedule Perfect Disk to run when Demigrator is not disabled?
Hi Damian….it never occurred to me to try that. Thanks for the tip. Happy New Year.
This is a great write up. My only question is for the startup script I think setting “start= auto” might make more sense for the startup script. If a user reboots their WHS during an “ON” cycle and DE doesn’t fire back on it could cause issues if they remove a drive, etc forgetting that it is not on.
I added a quick comment regarding at the bottom of the bat script. Thanks for commenting
you mention that it runs every hour. The only issue I have with Demigrator is when a new file is created. Then it copies it to another drive. If I have not added anything new to the server then I don’t have any problems streaming. So if I rip a BD, it will typically start being copied soon after the rip is done. Once it is copied I will have no problems since there are no more files that need to be copied. At least no large files.
I have not turned off Demigrator since my WHS is mainly for my BD rips. And I typically have my WHS rip my BDs when I’m not watching anything from it so for me it has rarely been an issue.
Also since I have 31 drives in my pool. It will only cause an issue if I play a BD ISO from one of the drives that is being copied from or copied to. So if I do rip a BD and try to watch it right away there could be issues, but if I watch an ISO that was ripped some time ago, it most likely won’t have an issue since I’m most likely going to be reading it from a drive that is not being accessed constantly for copying with Demigrator
Nice – could you maybe help me with something similar for WIndows Search (searchindexer.exe)?
Bjørn Tore
Doesn’t replacing “DriveExtenderMigrator” with “Windows Search” work?
Maybe this is something that could be added into some of the add-ins like lights out. Control the running of services based on which machines on the home network are operating.
@Al – yes it does:-) Thank you for your kind help.
Agree with @Al – Would be nice to have a panel to configure services like this – depending on the features/ functions needed.
Bjørn Tore
Using this excellent advice, I took it a step further to automate the process. Using free software called Protomon (http://protomon.badhim.com/), I am able to monitor whenever I am watching a movie and turn off demigrator (and qsm).
Basic steps:
1. assign a static ip to my Dune Smart D1
2. install protomon on my WHS
3. create a task in protomon to ping the static ip every few minutes, and run my batch files to turn off the services when the ping is successful (i.e. the Dune is on)
4. that same task will run batch files to turn the services back on when the ping is not successful (i.e. the Dune is off)
This removes the human error element, of which I am a master…
-D
Doorgo,
What about the human error of forgetting to turn off the Dune? I like the idea of automating this process but I think this introduces a human error element, at least for me. Is there a way to use Protomon to monitor a service or network load?
Louis
Damian,
Thank you for this. I’ve had this stuttering problem for months now going back to my Sage HD200. Even caused me to purchase a DUNE to no avail. This simple script solved the problem.
Louis
Louis,
Sucks that such an “invisible” process could cause so much issue, but glad it worked for you. Ever since I disabled this playback has been silky smooth for me.
Cheers
Damian