摘要: 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 阅读(454) 评论(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 阅读(692) 评论(0) 推荐(0) 编辑
摘要: cn && 4star.cn ? pass : fail改为如下代码就好了:cn &amp;&amp; 4star.cn ? pass : failHTML特殊字符显示HTML字符实体(Character Entities)有些字符在HTML里有特别的含义,比如小于号<就表示HTML Tag的开始,这个小于号是不显示在我们最终看到的网页里的。那如果我们希望在网页中显示一个小于号,该怎么办呢?这就要说到HTML字符实体(HTML Character Entities)了。一个字符实体(Character Entity)分成三部分:第一部分是一个&符号 阅读全文
posted @ 2011-12-06 15:44 balaamwe 阅读(1863) 评论(0) 推荐(0) 编辑
摘要: Q: 我正在写一个unix server程序,不是daemon,经常需要在命令行上重启它,绝大多数时候工作正常,但是某些时候会报告"bind: address in use",于是重启失败。A: Andrew Gierthserver程序总是应该在调用bind()之前设置SO_REUSEADDR套接字选项。至于TIME_WAIT状态,你无法避免,那是TCP协议的一部分。Q: 如何避免等待60秒之后才能重启服务A: Erik Max Francis使用setsockopt,比如-------------------------------------------------- 阅读全文
posted @ 2011-12-06 15:37 balaamwe 阅读(255) 评论(0) 推荐(0) 编辑
摘要: ldconfig是一个动态链接库管理命令,为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfigldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为 /etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表.ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令.ldconfig命令行用法如下 阅读全文
posted @ 2011-12-01 13:53 balaamwe 阅读(1073) 评论(0) 推荐(0) 编辑
摘要: 在linux下面工作,有些命令能够大大提高效率。本文就向大家介绍find、grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们。本文结构如下:find命令find命令的一般形式find命令的常用选项及实例find与xargsgrep命令grep命令的一般形式grep正则表达式元字符集(基本集)grep命令的常用选项及实例1、find命令find命令是一个无处不在命令,是linux中最有用的命令之一。find命令用于:在一个目录(及子目录)中搜索文件,你可以指定一些匹配条件,如按文件名、文件类型、用户甚至是时间戳查找文件。下面就通过实例来体验下find命令的强大。1.1、fi 阅读全文
posted @ 2011-12-01 13:51 balaamwe 阅读(279) 评论(0) 推荐(0) 编辑
摘要: Linux 共享库 Linux 系统上有两类根本不同的 Linux 可执行程序。第一类是静态链接的可执行程序。静态可执行程序包含执行所需的所有函数 — 换句话说,它们是“完整的”。因为这一原因,静态可执行程序不依赖任何外部库就可以运行。 第二类是动态链接的可执行程序。 静态可执行程序与动态可执行程序比较 我们可以用 ldd 命令来确定某一特定可执行程序是否为静态链接的: # ldd /sbin/sln not a dynamic executable “not a dynamic executable”是 ldd 说明 sln 是静态链接的一种方式。现在,让我们比较 sln 与其... 阅读全文
posted @ 2011-12-01 13:40 balaamwe 阅读(641) 评论(0) 推荐(1) 编辑
摘要: synchronized原语和ReentrantLock在一般情况下没有什么区别,但是在非常复杂的同步应用中,请考虑使用ReentrantLock,特别是遇到下面2种需求的时候。1.某个线程在等待一个锁的控制权的这段时间需要中断2.需要分开处理一些wait-notify,ReentrantLock里面的Condition应用,能够控制notify哪个线程3.具有公平锁功能,每个到来的线程都将排队等候下面细细道来……先说第一种情况,ReentrantLock的lock机制有2种,忽略中断锁和响应中断锁,这给我们带来了很大的灵活性。比如:如果A、B2个线程去竞争锁,A线程得到了锁,B线程等待,但是 阅读全文
posted @ 2011-11-28 17:09 balaamwe 阅读(270) 评论(0) 推荐(1) 编辑
摘要: 转自http://www.iteye.com/topic/333669 JDK1.5以后加入了concurrent包,主要是为了提高多线程的开发效率,其中提供了很多支持并发的集合类,其中包括:ConcurrentHashMap。大家知道HashTable也是支持并发环境的,也就是说多线程安全的,那两者有什么区别呢?分析 其实简单的说是同步机制有区别,具体区别又在那里呢? 请看HashTable的put方法:Java代码/***Mapsthespecified<code>key</code>tothespecified*<code>value</code 阅读全文
posted @ 2011-11-22 17:24 balaamwe 阅读(476) 评论(0) 推荐(0) 编辑