ITPub博客

首页 > 数据库 > Oracle > Linux 下 Java 启动 9个 线程-- 环境变量

Linux 下 Java 启动 9个 线程-- 环境变量

Oracle 作者:随月的云 时间:2010-09-02 21:50:20 0 删除 编辑

    由于移动方面要求尽快切换魔幻话吧boss接口,这几天一直在忙着调试接口。前天在调试接口时,突然发现一个非常诡异的问题:程序启动后,通过ps -ef|grep java 查看进程情况发现程序不是启动一个进程,而是12个。这让我有点迷糊,启动一个java程序,怎会会出现12个进程在运行呢?

    由于接口中采用了多线程,所以,起初以为是多线程引起的,但是,程序中总共启动了3个线程,也没有启动这么多线程啊。改造程序后,重新编译、执行,查看进程情况仍然是多个进程。将接口程序进行多次修改,都未见效果,甚至最后只是运行简单的main方法,还是没有消除多个进程的现象(只是减少到9个了)。最后,自己单独写了一个最具有历史性和代表性的程序-HelloWorld.java ,编译、执行后,查看进程数为9个,此时已经排除JDK版本的原因、接口程序本身原因、不同操作系统原因、系统版本原因。

    昨天用了一下午的时间没有整明白是怎么回事,今天下午和公司一同事说起此事,开始也是对它无从下手,感觉这现象实在是太诡异,让人百思不解。尝试了N种情况后,猜想是不是环境变量问题,于是就开始对环境变量展开搜查,最终在bash_profile文件设置中找到了凶手--export LD_ASSUME_KERNEL=2.4.1,将这个内核设置去掉后,执行程序,再查看进程情况就正常了(只显示1个进程)。

    经过测试后,该问题可以通过以下两种办法进行解决:

    1、bash_profile中去掉LD_ASSUME_KERNEL

    2、将LD_ASSUME_KERNEL设置成与本机系统版本相同的值(该值可以通过命令查看 uname -r )

   

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23259531/viewspace-1115972/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2010-01-28