超级郁闷:为何我的程序启动这么慢,在windows上是很快的!各位帮忙
  
各位弟兄:我真实急死了!
我的一个java通讯程序,在它的main函数(程序入口)处要启动5,6个模块,每个模块里都会启动2-3个线程来发送,接收或者保存数据,可是现在的状况是:程序运行后启动了第一,二个模块后,主线程死活就停止了一样,后面的模块都不启动了(我的每个模块启动之前都会有log信息打印出来给我看,程序打印1,2个模块的启动信息后,不再打印后面其它模块的信息了),但是这个java进程并没有死,因为已经启动了的两个模块内的线程运行良好。菜鸟俺在windows下跑这个程序一切正常,启动所有模块只有几秒的时间。可是在linux下要好几个小时(20多分钟后,我发现后面的模块还是启动了,晕)。
我真不知道该怎么办,这个程序早两天在linux上也是运行正常的!现在我的扫描模块,接收模块等功能都要在程序启动几十分钟之后才能运行,这程序几乎是费掉了。请求各位大侠给予指教,我的代码如下(在windows上运行正常,而且昨天还在linux上正常,因此我不想考虑代码的问题,请问是否系统在启动第一个,二个模块后,就降低了主线程的优先级别,因此导致1,2模块内的线程运行正常而主线程停止?求问大家了!情况很紧急,谢谢大家了,这是我生产系统上的东东!
Constants.getInstance().initParams();
logger.info(%26quot;获取配置文件初始化参数完毕!%26quot;);

this.aSleep(100);

logger.info(%26quot;正在启动数据库连接管理线程...%26quot;);
Thread conManager = new Thread(ConnectionManager.getInstance());
conManager.start();

/*
this.aSleep(500);
logger.info(%26quot;正在启动业务处理线程....%26quot;);
try {
BusiServer.getInstance().startServer();
}
catch (Exception ex) {
logger.error(%26quot;启动MM7 业务处理线程出错, 正在退出系统...%26quot;, ex); //启动处理业务的线程,并向接收服务注册自己
System.exit(1);
}
*/
logger.info(%26quot;here11111%26quot;);
this.aSleep(500);
logger.info(%26quot;正在启动SMS业务处理线程....%26quot;);
try {
SMSBusiServer.getInstance().startServer();
}
catch (Exception ex) {
logger.error(%26quot;启动SMS 业务处理线程出错, 正在退出系统...%26quot;, ex); //启动处理业务的线程,并向接收服务注册自己
System.exit(1);
}
logger.info(%26quot;here2222222222%26quot;);
this.aSleep(100);
logger.info(%26quot;正在启动MMS接收线程...%26quot;);
if (Constants.MMSC_TYPE.equals(%26quot;0%26quot;)) {
// Huawei sdk
// MMSReportReceiver.getInstance().start();
}
else {
// 中移mm7
try {
MM7MmsRevServer.getInstance().startServer();
}
catch (Exception ex) {
logger.error(%26quot;启动MM7 MMS接收线程失败, 正在退出系统...%26quot;, ex); //实际启动了接收和保存的线程
System.exit(1);
}
}

this.aSleep(100);
logger.info(%26quot;正在启动MMS发送线程...%26quot;);
try {
MmsSenderServer.getInstance().startServer(); //每个发送线程包含了一个mm7sender对象用于发送,一个MmsMtResp用于保存网关回应
}
catch (Exception ex) {
logger.error(%26quot;启动MMS发送线程失败%26quot;, ex);
System.exit(1);
}

this.aSleep(100);
logger.info(%26quot;正在启动扫描数据库MT表线程....%26quot;);
try {
MmsScanServer.getInstance().startServer(); // 扫描数据库MMS发送表线程,扫描只用了一个线程
}
catch (Exception ex) {
logger.error(%26quot;启动扫描数据库MMS发送表线程失败%26quot;, ex);
System.exit(1);
}

大家救命啦,明天周1了
顶一下,大家指点一下吧,我真的找不出原因,
昨天正常,今天不正常, 那你应该想想昨天和今天的系统/程序有什么不同.
程序真的没什么不同呀,系统是否有人做了改动,我不知道...................
停止系統中不必要的服務
系统中只启动了oracle服务,而这个是必须的呀。用top命令看我的系统,其实cpu和内存都是非常非常充裕的。都还只使用了0.x%,呵呵,大侠们,请帮我找找几个原因,好吗
<
  请教关于fcitx输入法问题!
  Debian 安装盘问题
  文本模式下用英文字体的,怎么才能显示出正常的中文来?
  再次请教:是不是硬盘有坏道?还是系统问题?
  求行编辑器ed的用法,很急,谢谢
  请教一个有关fcitx输入法的问题
  请高手解答,谢谢!
  对LINUX的VI编辑器的一些看法
  求学习 LIUNX 的教程 中文的电子版的谁有
  编译安装软件的一些疑问
  Ctrl Space不能激活输入法
  小企鹅中文输入法的安装
  Fc2下安装了哈密瓜的五一美化包,现在只有终端里面中文乱码!
  red hat linux如何开启ftp and telnet服务?
  linux9.0 as3.0 en_us 的utf-8 字体没有 ??
  如何实现连入VNCSERVER的桌面是KDE或GNOME
  webmin问题
  请教。。。为什么我的RH9不能显示中文。。
  请回答菜鸟一个简单问题:df命令显示的/dev/sda1,sda2,sda11 这些是什么意思?
  谁能告诉我该怎么样调分辨率~!