Articles of java

在Ubuntu 12.04上安装Java 1.7

我需要在几台机器上安装Java 1.7 ,因此我想用脚本来完成。 问题是安装要求某些选项(具体是“是”,然后“确定”,最后是“是”)。 我遇到了这个问题: 在Ubuntu上自动安装postfix 我很确定这个过程是一致的。 但是我不知道OP如何知道像postfix postfix/mailname这样的variables名(?) 如果有人能提供更直接的答案,那将是非常感激的。 编辑1: 我试着将sudo dpkg-reconfigure debconf设置non-interactive并select警报级别作为关键。 然后我试着执行sudo apt-get install oracle-java7-installer并得到这个错误: Need to get 0 B/18.6 kB of archives. After this operation, 193 kB of additional disk space will be used. Preconfiguring packages … (Reading database … 47992 files and directories currently installed.) Unpacking oracle-java7-installer (from …/oracle-java7-installer_7u51-0~webupd8~4_all.deb) … […]

非堆内存泄漏JVM

我有一个运行在oracle java虚拟机上的Ubuntu服务器上设置的glassfish v4.0,jvm进程常驻内存大小(通过“top”命令)成长,直到jvm没有内存来创build新线程。 我拥有的: 1Gb ram和1.4GHz处理器的VPS服务器(1核) Ubuntu服务器12.04 Java(TM)SE运行时环境(build 1.7.0_51-b13) Java HotSpot(TM)64位服务器虚拟机(构build24.51-b03,混合模式) Glassfish v4.0运行我的Java EE web应用程序 VM以下列参数运行-XX:MaxPermSize = 200m -XX:PermSize = 100m -XX:Xmx = 512m(我可以添加所有相关参数) 有什么问题: RAM使用率(res memory)一直在增长,具体取决于每小时10-100m的使用率,直到jvm无法分配本地内存。 我试过了什么: 我已经降低了最大堆空间,这只能节省时间,直到jvm崩溃 我附上了plumbr( https://portal.plumbr.eu/ ),它没有检测到堆中有任何内存泄漏 我也设置最大烫发大小为较低的价值。 我想让我的JVM稳定,因为我测量堆空间+ perm gen只需要400-600 mb,而“top”命令显示java进程内存增长到850mb,然后杀死它自己。 我知道JVM需要更多的内存空间和堆,但是你认为我还是给堆空间和perm gen留下了太多的内存吗? 任何帮助或指导将不胜感激。 日志输出: http ://pakers.lv/logs/hs_err_pid970.log所有JVM flgas: http ://pakers.lv/logs/jvm_flags.txt 更新 我还尝试了什么(根据build议和我自己的发现): 我已经将堆空间减less到了256m,然后在系统稳定的时候增加了空间,我注意到我能承受的最大堆是512m和128m perm的gen space。 (-Xmx512m,-Xms512m,-XX:PermSize = 128m,-XX:MaxPermSize = […]

Coldfusion的JVM堆与RAM的使用

我需要在运行Coldfusion / Apache的CentOS服务器上澄清内存使用情况。 我有一个脚本,将文件读入内存并逐行处理,插入到数据库并删除文件。 不是最好的过程,但是现在要做。 当文件被读取时,它占用大量的内存,导致服务器使用交换文件,而且它确实没有响应 – TOP中的总内存使用率为3.9 / 3.9 GB,swap为1.5 / 1.9 我不得不重新启动它,总共使用的内存下降到2GB左右,我跑了脚本,它回到了3GB。 它在过去的几个小时内缓慢增加到3.3GB – 我仍然有一些空间,网站都响应,但内存没有被释放。 此外,自从重新启动以来,FusionReactor将我的Max和Allocated Heap显示为3.93GB,使用范围从0.3GB到1GB – 这与TOP说的是不一致的,即CF9对3.9的58%,大约2.25GB 该脚本在一夜之间导入数据,所以我猜测它什么时候运行,它会溢出到交换,并在一夜之间减慢网站(低stream量过夜,但仍然需要修复 – 我必须现在停用) 所以我不明白的两件事: 为什么当文件被读取时,RAM从3 – > 2没有回落,并且脚本已经完成(丢失一个文件fileClose – 太多的CFC?) 为什么我的FusionReactor内存使用堆显示最大1GB,当TOP显示58%的3.9GB(2.25GB)的CF9 更新 – jvm.config,其中大部分是评论 # Where to find JVM java.home=/opt/coldfusion9/runtime/jre/ # Arguments to VM java.args=-server -Djava.awt.headless=true -Xms4096m -Xmx4096m -Dsun.io.useCanonCaches=false -XX:ParallelGCThreads=2 -XX:PermSize=64m -XX:+UseConcMarkSweepGC -XX:NewSize=1024m -XX:MaxNewSize=1024m […]

Windows上的JVM – 分页和完整的GC

我们在Windows(Server 2012 R2)上运行基于Java的应用程序(TeamCity,在Tomcat上,在Java 1.7上)。 Java以最大6GB的堆大小运行,并且系统具有10GB的RAM。 它是机器上唯一运行的非操作系统服务。 对于稳定状态,一切都很好。 不幸的是,当Java偶尔做一个完整的GC时,我们发现Java堆的一部分已经被分页,需要重新分页,因此GC需要几分钟时间,而不是less于几秒钟。 一般的看法是不能完全禁用Windows页面文件,但是我想知道这是否是一个反例呢? (我们真的不希望这个世界暂停几分钟,而把它重新回到GC中!) 有没有更好的方法来确保JVM永远不会被分页到磁盘,因为高IO工作负载导致Windows驱逐一些有利于磁盘caching的堆? 谢谢,罗布

networkingpipe理员是否阻止传出stream量到不知名的端口?

我已经编写了一个Java服务器来监听端口49474.我的客户端运行在美国各地的Android手机上。 当然,他们将连接各种networking:家庭,工作,学校,图书馆,麦当劳。 服务器和客户端之间通过Java Socket传输原始JSON的stream量。 有人告诉我,我必须使用端口80或443,并且我的stream量必须是实际的HTTPstream量,否则路由器/防火墙会检测到我的stream量不是HTTPstream量并丢弃它。 networkingpipe理员阻止连接到我的端口所在的端口的通常情况如何? 此外,如果我只是将端口号切换到443,那么路由器/防火墙是否会检测到我的stream量不是HTTPstream量,即使在知名端口上也是如此?

现在如何运行IPMI控制台,不再支持NPAPI插件?

我有一个泰安S5533主板作为我的NAS驱动器。 它有一个专用的IPMI NIC,但自从Firefox 52,Chrome / Chromium不再支持NPAPI插件后,我无法启动Java控制台。 我甚至尝试过Firefox ESR,但是也没有工作。 我在ServerFault上读到IcedTea不能与IPMI一起工作,所以我用Arch Linux桌面上的Oracle JREreplace了IcedTea。 这是我想知道的: 如何获得IPMI Java控制台的工作 – 是否有任何浏览器,我可以在Arch Linux上安装? 由于Firefox ESR只能在2018年初才能得到支持,因此可以使用IPMI Java控制台做些什么? 我听说Supermicro正在向基于HTML5的KVM调音台发展,但现有的主板如何? 他们都会得到固件更新来支持非基于Java的控制台吗?

JDK安装向导没有显示,但仍然安装

我希望这里有人能帮助我。 我是在我的相当大的公司的Java开发人员之一。 所以Java是一种被忽视,我一个人pipe理我的开发环境。 我想testing新的JDK 9.下载安装程序。 双击exe文件并等待。 除了出现蓝色的缓冲曲线以外没有任何事情发生。 过了一会,它消失了。 好像什么都没有发生。 令我惊讶的是,JDK和jre是以默认的方式安装的。 几小时后我无意中发现了。 在我的服务器上(Windows 2012),安装向导正常工作。 我可以select目的地等。 我尝试了一个旧的jdk安装,在我的Windows 7个人电脑上非常私密地工作。 巫师也没有出现。 我坚信,McAfee或Windows策略有一些问题。 所有这些都由中央IT部门进行pipe理。 我已经试图找出他们,但没有人帮助我。 有没有人在这里有丝毫的想法在我的电脑上发生了什么或有任何人有这个问题,并可以指出我在正确的方向吗?

Sun JVM故障排除的工具和提示

我们在Sun JVM版本1.6.0_11之上运行一组ColdFusion 8服务器。 偶尔服务器会停止响应请求。 到目前为止,我们已经确定JVM正在locking,ColdFusion和IIS都不是问题的根源。 我在下面包含了我们的JVM参数。 任何额外的JVM设置,我们应该看? 从JVM内部监控,跟踪或获取指标的任何工具,以便我们可以看到崩溃发生时的情况。 任何其他JVM疑难解答提示? -server -Xms1024m -Xmx1024m -Dsun.io.useCanonCaches=false -XX:MaxPermSize=256m -XX:PermSize=256m -XX:+UseParallelGC -Dsun.rmi.dgc.client.gcInterval=300000 -Dsun.rmi.dgc.server.gcInterval=300000 -Djmx.invoke.getters=true

安装Solaris之前需要了解的事项

我即将在Solaris机器上安装一个堆栈。 我有在Ubuntu LTS上安装这个相同的堆栈的经验,它已经非常简单,但pipe理层真的希望这个在一个花哨的UltraSPARC T1盒子上运行。 堆栈如下 Sun Java JDK 6 MySQL 5 Sun GlassFish v2.1 在开始之前,我应该真正了解哪些事情?

Tomcat不能识别MySQL .jar库

我尝试了几种不同的方法,例如Tomcat在运行我的Web应用程序时加载MySQL驱动程序。 我正在使用Ubuntu 8.04,这些库来自libmysql–java软件包。 他们位于如下所示的目录中: 〜$ ls / usr / share / java / mysql * /usr/share/java/mysql-connector-java-5.1.5.jar 我的CLASSPATH包含这个文件: 〜$ echo $ CLASSPATH 。:/ usr / lib中/ JVM / JAVA-6-太阳/斌:/usr/local/tomcat/lib/servlet-api.jar:/usr/share/java/mysql-connector-java-5.1.5.jar 我甚至把我的WEB-INF / lib /目录中的.jar文件拷贝到我的web应用程序中: / usr / local / tomcat / webapps / ohms / WEB-INF / lib $ ls MySQL的连接器的Java-5.1.5.jar 完成这些更改后,我重新启动Tomcat,重新编译我的类,重新启动Tomcat。 另外,我正在使用import java.sql.*;导入必要的库import java.sql.*; 但是,我仍然得到java.lang.ClassNotFoundException: com.mysql.jdbc.Driver错误,当它运行行Class.forName("com.mysql.jdbc.Driver").newInstance(); […]