摘要: 问:我该如何发现哪种服务正在某个特定端口上监听呢?我如何发现哪一个程序正在一个特定端口上监听呢? 答:在*NIX系统中,你可以使用下面的任何一个命令来得到在一个特定TCP端口上监听的列表。 Lsof:其功能是列示打开的文件,包括监听端口。 netstat :此命令象征性地展示各种与网络有关的数据和信息的内容。 Lsof命令示例 你可以输入下面的命令来查看IPv4端口: # lsof -Pnl +M -i4 你可以输入下面的命令来查看IPv6协议下的端口列示: # lsof -Pnl +M -i6 此例输出: 这里我们不妨解释一 下。第一栏是command,它给出了程序名称的有... 阅读全文
posted @ 2011-12-07 14:56 balaamwe 阅读(4271) 评论(0) 推荐(0) 编辑
摘要: 理解 JVM 如何使用 Windows 和 Linux 上的本机内存文档选项打印本页将此页作为电子邮件发送样例代码英文原文级别: 中级Andrew Hall, 软件工程师, IBM2009 年 5 月 11 日Java™ 堆耗尽并不是造成java.lang.OutOfMemoryError的惟一原因。如果本机内存耗尽,则会发生普通调试技巧无法解决的OutOfMemoryError。本文将讨论本机内存的概念,Java 运行时如何使用它,它被耗尽时会出现什么情况,以及如何在 Windows® 和 Linux® 上调试本机OutOfMemoryError。针对 AIX® 阅读全文
posted @ 2011-12-07 14:52 balaamwe 阅读(3097) 评论(0) 推荐(0) 编辑
摘要: http://www.iteye.com/topic/976522目录内存管理简介 GC简介 好的Collector的特性 设计或选择Collector GC性能指标 分代GC Java Collector 快速内存分配GC根集合 Serial Collector Parallel Collector/Throughput Collector Parallel Compacting Collector Concurrent Mark Sweep Collector (CMS) 4种Collector的对比和适用场景。 Ergonomics GC调优 OutOfMemoryError freeM 阅读全文
posted @ 2011-12-07 14:49 balaamwe 阅读(661) 评论(0) 推荐(0) 编辑
摘要: http://www.open-open.com/lib/view/open1322743689780.htmlJava与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。概述:说起垃圾收集(Garbage Collection,下文简称GC),大部分人都把这项技术当做Java语言的伴生产物。事实上GC的历史远远比Java来得久远,在1960年诞生于 MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。当Lisp还在胚胎时期,人们就在思考GC需要完成的3件事情:哪些内存需要回收?什么时候回收?怎么样回收?经过半个世纪的发展,目前的内存 阅读全文
posted @ 2011-12-07 14:43 balaamwe 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 一个很特别的参数,影响关闭socket后的行为,是立即释放,还是进入TIME_WAIT状态并等 待一段时间(单位:秒)才释放。这个参数,在Socket中可以设置,在Mina2的IoService中也有setSoLinger设置。对于新bs3 框架的Service4Mina2s组件,可以通过以下两种方法设置。<prop key="m_solinger">1</prop><!-- ={-1 | 0 | nSec}--><property name="soLinger"><value>1</va 阅读全文
posted @ 2011-12-07 14:38 balaamwe 阅读(5229) 评论(0) 推荐(0) 编辑
摘要: 转http://unixboy.iteye.com/blog/174173堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java-Xmx3550m -Xms3550m -Xmn2g-Xss128k-Xmx3550m:设置JVM最大可用内存为3550M。-Xms3550m:设置JVM促使内存为3550m。. 阅读全文
posted @ 2011-12-07 14:24 balaamwe 阅读(267) 评论(0) 推荐(0) 编辑
摘要: http://www.cjsdn.net/post/print?bid=62&id=196304JVM参数调优是一个很头痛的问题,可能和应用有关系,下面是本人一些调优的实践经验,希望对读者能有帮助,环境LinuxAS4,resin2.1.17,JDK6.0,2CPU,4G内存,dell2950服务器,网站是http://shedewang.com一:串行垃圾回收,也就是默认配置,完成10万request用时153秒,JVM参数配置如下$JAVA_ARGS .= " -Dresin.home=$SERVER_ROOT -server -Xms2048M -Xmx2048M -X 阅读全文
posted @ 2011-12-07 14:19 balaamwe 阅读(455) 评论(0) 推荐(0) 编辑
摘要: JVM参数调优,这是很头痛的问题,设置的不好,JVM不断执行Full GC,导致整个系统变得很慢,网站停滞时间能达10秒以上,这种情况如果没隔几分钟就来一次,自己都受不了。这种停滞在测试的时候看不出来,只有网站pv达到数十万/天的时候问题就暴露出来了。要想配置好JVM参数,需要对年轻代、年老代、救助空间和永久代有一定了解,还要了解jvm内存管理逻辑,最终还要根据自己的应用来做调整。关于JVM参数上网一搜就能搜出一大把,也有很多提供实践的例子,我也按照各种例子测试过,最终还是会出现问题。经过几个月的实践改善,我就网站(要求无停滞时间)的jvm参数调优给出以下几条经验。1:建议用64位操作... 阅读全文
posted @ 2011-12-07 14:18 balaamwe 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 本文主要根据这篇PDF(GCTuningGuidelines)写成。首先是JDK1.5引入的新功能 Ergonomic Settings(自动优化的参数)对于有2块CPU和2GB内存及更佳配置的服务器,Sun的hotspot jdk默认设置了如下参数:-server :服务器模式编译-XX:+UseParallelGC 并行收集-Xms设置为服务器物理内存的1/64-Xmx设置为服务器物理内存的1/4(最大为1G)我在网上发现了这篇文章,也是根据那篇PDF写的,基本都翻译过来了,那我就不再做造轮子的过程了。有些自己的想法会用红色标出。摘自http://unixboy.javaeye.com/原 阅读全文
posted @ 2011-12-07 14:17 balaamwe 阅读(693) 评论(0) 推荐(0) 编辑