Articles of java

在Ubuntu 9.04上脚本安装Sun Java JDK

我们正在尝试在Ubuntu 9.04上安装sun jdk,并自动接受许可协议。 我在网上看到了一些关于创build包的文件,但是没有一个是完整的。 有谁知道如何得到这个工作?

Java:Tomcat缓慢提供静态文件?

我正在Windows 2008平台上运行Apache Tomcat(5.5)的一个实例。 我认为我看到与并发文件访问/locking有关的问题。 当并发HTTP线程的数量增加超过默认设置(150)时,我看到(使用站点监视工具)服务某些静态内容(.js .gif .png等)时出现越来越多的“非自然”延迟。 通过这个,我的意思是服务器在开始发送之前需要20秒,或者需要30秒来为一个小的(2KiB)文件服务。 当Tomcat繁忙时(服务超过300个线程),CPU使用率平均在50-60%左右,磁盘使用率在10-30mbps左右。 有什么工具可以用于Java来确定是否是这种情况? Tomcat APR / Apache本机库是否可以解决这个问题? 另外,还有什么我应该看看? 网站分析工具的屏幕截图:

生产服务器上的OpenJDK或Oracle Java

我有点困惑,哪个实现更适合在生产服务器上使用? 有什么理由不selectOpenJDK?

heapdumps的创build方法比jmap更高性能吗?

我必须创buildheapdumps,这与jmap很好。 我的问题是,该jmap需要很长的时间来创buildheapdump文件。 特别是堆越来越大(> 1GB)时间太长。 一个情况为例: 当服务器遇到堆空间问题时,我想要自动重新启动并在重新启动之前创build一个堆转储。 这可以起作用,但是写入heapdump需要很长时间。 这样服务器停机时间太长了。 heapdump创build需要超过一个小时。 我知道关于-XX:+HeapDumpOnOutOfMemoryError ,但是大部分时间我可以在jvm抛出exception之前find内存问题。 有没有替代jmap更快地写入heapdumps? 上述示例的特殊解决scheme也将被赞赏。 这个问题是编程和系统pipe理的混合,但是我认为我在这里是对的。

在Solaris 10中跟踪较慢的Java I / O

我们有一个Java应用程序,在Solaris 10服务器上比在Windows PC上慢得多。 我们分析了(-Xprof)应用程序,发现UnixFileSystem.getBooleanAttributes0方法在使用本地调用的情况下消耗了大约40%的CPU时间。 我们怎样才能跟踪我们的search,以确定哪些是行为缓慢的原因? 更新: 我们执行了dtrace ,我们观察到CPU时间是0.489秒,而time结果是 real 0m40.759s user 0m47.669s sys 0m2.287s 似乎时间不是花在CPU上,而是在另一个地方。 如何进一步调查这个dtrace结果呢? 我们可以使用另一个dtrace选项来显示更多信息吗? 非常感谢你。 # /dtrace-toolkit/DTraceToolkit-0.99/procsystime -aTp 5695 Tracing… Hit Ctrl-C to end… dtrace: 1032 dynamic variable drops with non-empty dirty list ^C Elapsed Times for PID 5695, SYSCALL TIME (ns) gtime 7799 sysconfig 8018 lwp_kill 10105 getsockname 10215 systeminfo 10984 […]

Tomcat – Spring框架 – MySQL,负载均衡devise

比方说,我有在Tomcat上运行的Spring框架应用程序,并使用MySQL数据库: 在这种情况下,最好的解决scheme是什么,可以提供社交性(价格/性能/整合时间)? 更确切地说:在Web Load Balancer框中会出现什么内容,以及谁应该成为tomcat Web服务器的集群? “数据库负载均衡器”框中将会出现什么内容?数据库服务器应如何聚集? 如果可能的话,具体的技术集成链接将会有很大的帮助。

Linux(非透明)每进程hugepage会计

我最近将一些java应用程序转换为使用linux手动configuration的hugepages运行,如下所述。 我指出“手动configuration”,因为它们不是透明的巨大页面 ,这给我们一些性能问题 。 所以现在,我已经有10个tomcat在系统上运行了,而且我有兴趣知道每个用户有多less内存。 我可以像Linux Huge Pages Usage Accounting中所描述的那样从/proc/meminfo获得摘要信息。 但我找不到任何工具告诉我有关每个进程的巨大页面使用情况。 我在/proc/pid/numa_stat ,发现了一些有趣的信息,使我感到这种毛病: function pshugepage () { HUGEPAGECOUNT=0 for num in `grep 'anon_hugepage.*dirty=' /proc/$@/numa_maps | awk '{print $6}' | sed 's/dirty=//'` ; do HUGEPAGECOUNT=$((HUGEPAGECOUNT+num)) done echo process $@ using $HUGEPAGECOUNT huge pages } 或者这个,在perl中: sub counthugepages { my $pid=$_[0]; open (NUMAMAPS, "/proc/$pid/numa_maps") || die "can't […]

Eclipse IDE的Java EE插件

我正在使用Eclipse 3.5.1。 没有选项叫做web – > Dynamic web project。 我应该为Java EE安装任何插件吗? 如果是这样,请为我提供插件。

Java中的PermGen错误,而内存使用率很低

Java应用程序有时死于PermGen空间错误,但是当我查看内存使用情况时,从我所知道的情况来看,它似乎很低。 这是一个Tomcat应用程序,再加上运行SOLR服务器(在同一个tomcat下)。 在catalina.sh JVM参数: -Xms1024m -Xmx2048m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/logs 在catalina.out出错: java.lang.OutOfMemoryError: PermGen space Dumping heap to /path/to/logs/java_pid22335.hprof … Heap dump file created [107041478 bytes in 1.823 secs] Exception in thread "pool-5-thread-1" java.lang.OutOfMemoryError: PermGen space 现在第一个奇怪的是内存转储只有100Mb,而堆的限制是2048Mb。 当我使用“正确的”内存不足错误时,转储文件的大小接近于堆的限制。 第二件奇怪的事情是由jmap -heap 22335显示的内存使用情况 – jmap -heap 22335似乎很正常(当这个命令运行的Java应用程序仍然下来): Attaching to process ID 22335, please wait… Debugger attached successfully. Server compiler detected. […]

为客户端PC上的所有用户设置Java运行时设置

我们有一个Java应用程序内存不足的问题。 我们的(Windows XP)客户端PC安装了JRE 1.6版本18。 我想将JRE的-Xmx运行时参数增加到512M,但我似乎无法为所有用户设置此参数。 当以pipe理员身份login到PC并在Java控制台中设置运行时参数时,这些设置仅对我的login显示。