I am using the DMT.exe tool to load part records. The number of records is ~118,000. In order to improve performance I have split the data into 12 files and run 12 instances of DMT simultaneously. So each DMT process is dealing with ~9800 records.
The DMT processes finish loading all ~118,000 records after a few hours. I can confirm this with a simple query in the target Epicor database. This consumes about 85% CPU on the client computer the whole time it is running.
The DMT.exe process then keeps on running and it shows steady CPU consumption and gradual increase in memory. I have let is run this way as long as 10 extra hours and I must kill the processes to stop them.
During these long hours no new records are being added and no log messages are written on the target Epicor server. I am unsure if it will ever stop on its own when it gets into this state.
Has anyone had a similar problem with DMT? If so can you provide any troubleshooting steps?
I’ve not encountered that (and I’m on 10.1 - so the DMT is obviously different).
I assume the DMT for E9 is like DMT for E10, and that you launch the DMT application once, and just have several tabs for Part update (one for each block of Parts)
Does each tab run to completion?
If so, can you close that tab, and does that reduce the cpu usage by DMT.exe
FWIW - I checked DMT’s system usage with SysInternals Process Explorer (Task Manager replacement), it shows continued CPU usage after the update is done.
The screen shot below is after running updated (just one tab) and before clicking OK on the “Import Complete” pop-up. 2 - 3% CPU usage seems awfully high for an app that isn’t doing anything.
I am running everything on the command line version so there is no Window but I think the process is the same.
On the test you conducted did the CPU activity stop as soon as you clicked OK? There is no equivalent of the OK pop up in the command line version but something similar seems to be happening.
The CPU activity “bounced” when i hit OK on the pop-up. By that I mean dropped to 0.7% for a split second then returned to around 2-3%.
I find it very strange that a command line program would stay resident after completion. Maybe if it were somehow queuing the data for upload, and the program “finishes” (returns to the command prompt) while the queued processes are still happening.
What has Epicor Tech Support had to say?
(or are you like me and you know you can often get a quicker resolution here?)
There is no response yet from Epicor. It’s been a couple of days. I can get it work more reliably with smaller datasets so I think my fasted way forward is to just do that. It’s clumsy and I don’t like walking away from unsolved problems but there are probably no other good alternatives.
Thanks for you participation and replies to my post. I finally found the problem and it was not a problem with DMT at all. I was using .Net code to launch the DMT.exe processes in parallel with the Process.Start() command. The RedirectStandardOutput option was set to true in my code. On large data sets the IO buffer filled up so that my code was waiting on DMT and DMT was waiting my code. Classic deadlock. The standard output from DMT.exe was not being used anyway so setting RedirectStandardOutput to false (the default) prevents the deadlock condition from ever occurring.