Code Comments
Programming Forum and web based access to our favorite programming groups.We are seeing a strange problem. We have a multi-threaded java application that is deployed on a Microsoft Windows 2000 server (SP4) with Citrix Metaframe XP (Feature release 2). When this application starts, we start to see multiple WINLOGON.EXE processes (20 plus) each taking up 1-2% of CPU - this raises the CPU usage on the server significantly, impacting performance. We have tested with JDK 1.3, 1.4, and 1.5 and see the same issues. If we run the java application in a single thread, we dont see the same issue. Has any one seen this problem before? Any suggestion on how this can be resolved? Thanks in advance!
Post Follow-up to this messageOn Wed, 27 Apr 2005, Larry Minj wrote: > We are seeing a strange problem. We have a multi-threaded java > application that is deployed on a Microsoft Windows 2000 server (SP4) > with Citrix Metaframe XP (Feature release 2). When this application > starts, we start to see multiple WINLOGON.EXE processes (20 plus) each > taking up 1-2% of CPU - this raises the CPU usage on the server > significantly, impacting performance. > > We have tested with JDK 1.3, 1.4, and 1.5 and see the same issues. If we > run the java application in a single thread, we dont see the same issue. Not quite sure what you mean here. Is your application written to spawn multiple threads and you have re-written it to use only one thread? Or does Citrix have some ability to run an application on multiple thread? > Has any one seen this problem before? Any suggestion on how this can be > resolved? First thing is to determine what is causing the problem. I have not seen something like this but then I don't use Citrix. So maybe it is Citrix that is causing the problem. Check with Citrix, search support.citrix.com or try running on an environment without Citrix. The other possibilities is your code. Assuming you have an app that spawns different threads and this spawning of threads is creating the multiple WINLOGIN.EXE processes then try running: import java.util.*; public class ThreadTest implements Runnable { static int count = 5; static int seconds = 10; public static void main(String[] args) { if(args.length > 0) count = new Integer(args[0]).intValue(); for(int i = 0; i < count; i++) new Thread(new ThreadTest()).start(); } public void run() { try { Thread.sleep(seconds*1000); } catch (Exception e) { } } } If you run this and see 5 extra WINLOGIN.EXE then it is most likely something to do with Citrix. -- Send e-mail to: darrell dot grainger at utoronto dot ca
Post Follow-up to this message
Show a Printable Version
Email This Page to Someone!
Receive updates to this thread
Powered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.