twistman的技术日志

专业系统工程师打杂,副业Linux geek

Notes.exe和Nlnotes.exe有什么不同?

用notes来收邮件实在是一件异常痛苦的事,唯一速度觉得还可以的是在公司内网用的时候。同事介绍加速notes的方法是把邮件同步到local上来访问,但是用起来还是觉得很慢、很笨重。到底怎么能加速Notes的运行速度呢?今天有同事告诉我在notes的安装目录里面一个nlnotes.exe,用这个exe文件来启动Notes速度会很快。 确实使用nlnotes.exe启用notes的响应速度真的快了不少!除了nlnotes.exe启动的时候没有JAVA的logo之外,我还没发现使用上两者有什么差别。Google了一下也没有找到什么权威说法。同事说用nlnotes启动是C的版本,不是Eclipse-based的java版本。

unix文件系统大小限制

今天在AIX上tar备份文件失败,tar命令打包时出错 tar: tape write error: unexpected EOF 。df -g显示文件系统有很大的空间但是就是无法写入。不只在Windows下fat32文件系统文件有4G的限制,在unix上也有文件大小的限制的。 在AIX上用户写入的文件大小除了受限于文件系统格式,还受限于ulimit的设置:

AIX tar 排除一些文件

因为经常需要备份websphere、IHS,文件里面常常会带很多日志之类的文件是不需要备份的,tar排除一些文件既可以节省空间,也可以加快备份速度。 命令格式:tar cvf 生成的文件名.tar -X 需要排除的文件列表 需要备份的目标文件。 例子如下:

不重启was server重新加载应用class文件

在开发系统里面,代码更新快。每次更新class都要重启会很麻烦,特别是像websphere was 这样庞大的应用服务器。重启一次的时间真是…… =.=!所以好多开发人员都喜欢在tomcat上开发,搞好了再放上去was上面测试。 作为商业软件websphere was有免重启重新加载class的设置,他原理也是定时扫描应用的class文件有没有更新,如果有的就重新加载。当然会对应用服务器带来一定的开销,所以只建议对开发服务器和UAT测试服务器设置,不建议对生产系统和压力测试系统设置。

获取Linux进程的unlimited值

有一次在客户的一个weblogic系统,我在shell环境变量明明设unlimited的值是65535,但是他日志死活都报too many open file。到底设置到底生效了没有?还是系统的压力真的那么大?lsof看应该是没那么大。就不知道怎么查那个weblogic的JVM进程的unlimited值是多少呢? 原来cat /proc/PID/limits可以知道某个进程的unlimited值!

如何不用userId和password停止WAS server

如果was启用了安全性,在停止WAS server的时候必须输入用户名和密码:./stopServer.sh server1 -username wasadmin -password wasadmin 黑客可以通过查询脚本、shell 历史、ps -ef等方法看到用户名、密码,造成安全隐患。 解决问题的方法:编辑 /WebSphere安装目录/profiles/server目录/properties/soap.client.props com.ibm.SOAP.securityEnabled=true com.ibm.SOAP.loginUserid=wasadmin com.ibm.SOAP.loginPassword=wasadmin com.ibm.SOAP.loginUserid登录DMGR的用户名,com.ibm.SOAP.loginPassword 为登录DMGR的密码。

巨型websphere拓扑

在学习websphere的时候就觉得比weblogic复杂很多。我的同事说was和weblogic最大的不同就是was十分灵活,能适应不同环境,不同的拓扑的需要,特别是分布式的数据中心。今天看到一遍关于巨型websphere拓扑的最佳实践文档更是目瞪口呆。 拓扑 1: 每一个节点和节点应用服务器均衡。这种适合应用变化较少的生产环境。 DMGR部署在专用服务器上。30节点分别部署在专用的服务器上,每个节点至少有40个server。大约一个cell里面有1200个server。

Runtime Provisioning按需启动:was7加快启动速度,节省内存的新特性

WebSphere Application Server V7的新功能:Runtime Provisioning。应用服务器启动的时候不启动所有的组件,在需要时再启动组件。 应用场景: 1、应用只使用servlets和JDBC。没用使用EJB,安全性等,可以打开选项。加快应用服务器的启动时间,节约内存。 2、在Node agent、dmgr、proxy server、administrative agent,这些需要快速启动的组件。只会启动部分的管理组件。 打开方法: 在系统管理=>Deployment Manager。的配置页面里面。选上在需要时启动组件的复选框。 在系统管理=>Node Agent。的配置页面里面。选上在需要时启动组件的复选框。 应用程序服务器 > 服务器配置页面。选上在需要时启动组件的复选框。 (英文版的选项框名字:start components as needed)

websphere WTRN0006W 事务超时

继续调查上一篇blog的故障。在websphere的SystemOut里面发现很多WTRN0006W的信息。 [10/24/07 14:59:52:662 EST] 0000000f TimeoutManage I   WTRN0006W: Transaction 0000011056531F8D000000050001C7E40B304AAB611AB4FC574CE136F63A9E07BE78A01B0000011056531F8D000000050001C7E40B304AAB611AB4FC574CE136F63A9E07BE78A01B00000001 has timed out after 120 seconds. 这个日志意味着这个事务在交易生命周期时间(Total transaction lifetime timeout)里面不能提交或者回滚。webspere默认值为120秒。当然WTRN0006W本身不是问题所在,而是一种症状。我们需要找到导致WTRN0006W的原因才能解决问题。

在IHS access log里查找死锁的URL

这几天有个客户的系统很慢。要调查原因,应该是DB2死锁的问题。但是当时没抓到死锁,所以没能够找到导致死锁的sql预计。这样只能换一个方法,从中间件入手,找最慢的URL。然后通过url找到相关的应用,应用找sql。 前提是IHS日志的格式有统计记录页面时间,例如: LogFormat “%h %t %u %v:%p(%P) %m-%H %TSec. %>s %b \”%U\” \”%q\”” common