项目需要用到ant和svn结合使用,在使用ant svnup时,系统提示:
svn: Can't convert string from native encoding to 'UTF-8':
大概意思是:
不能把字符串从本地编码转换为“UTF-8”编码
google了半天,都说是修改本地环境变量。
$locale
$LANG=en_US.UTF-8
$LC_CTYPE="en_US.UTF-8"
$LC_NUMERIC="en_US.UTF-8"
$LC_TIME="en_US.UTF-8"
$LC_COLLATE="en_US.UTF-8"
$LC_MONETARY="en_US.UTF-8"
$LC_MESSAGES="en_US.UTF-8"
$LC_PAPER="en_US.UTF-8"
$LC_NAME="en_US.UTF-8"
$LC_ADDRESS="en_US.UTF-8"
$LC_TELEPHONE="en_US.UTF-8"
$LC_MEASUREMENT="en_US.UTF-8"
$LC_IDENTIFICATION="en_US.UTF-8"
$LC_ALL=en_US.UTF-8
试过了网上提供的所有方法:
把本地的字符试了个遍,
$export LC_CTYPE=en_US.UTF-8
$export LC_ALL=en_US.UTF-8
$export LC_ALL=zh_CN.UTF-8
$export LC_ALL=zh_CN.utf8
可惜问题始终没有解决。
其中一个不解的现象是单独使用svn up是可以的,单独使用ant compile也是可以的,二者结合起来就出现了问题。
于是想到了是不是svnant.jar的版本的问题呢,我现在使用的svn版本是
最新版的
svn1.5.4
看了一下原来的svnant版本是1.0真的是没有办法了死马当成活马医不管怎样,先试试吧于是替换了svnant.jar等,升级到了1.2,再次执行ant,哈哈,问题解决了。
如果你也在使用svn的比较新版本,并且需要使用ant和svn结合使用的话,不妨升级一下你的svnant吧。

| | Comments (1) | TrackBacks (0)
#cat stdout.log
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
 java.net.SocketException: Broken pipe
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:66)
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:124)
    at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2690)
    at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2619)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1552)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1666)
    at com.mysql.jdbc.Connection.execSQL(Connection.java:2978)
    at com.mysql.jdbc.Connection.execSQL(Connection.java:2902)
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:933)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1162)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1079)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1064)
    
   
线上跑的java应用中的stderr.log中偶尔会有这样的日志出现,出现问题时系统负载并不高,并且系统可以自己恢复正常。google了很久,也困扰俺多日,今天对这个问题做一个了断。

产生这个问题的原因可能有以下几个:
1、mysql的驱动的问题,我的驱动是mysql-connector-java-3.1.11-bin.jar
如果有兴趣测试话,可以使用其他新版本的mysql驱动来试试吧。

2、防火墙和网络上的问题
,或者服务器发生了crash(有意或无意导致)
同学们可以检查产生"java.net.SocketException: Broken pipe" 错误的时候服务器、网络是否有异常?

3、应用系统的数据库连接池导致,
最大的可能就是程序上写的不严谨  吼吼!
新手在开发过程中都难避免的失误:忘记数据库连接的关闭(纯jdbc的操作中常见,不过这个还好找啦,压力测试中如果看到数据库连接数多或者干脆挂掉可以找出原因的);
另外就是提交事物时,在对数据操作中没有做明确的commit或者rollback,如果忘记了提交commit,在你尝试使用类似的resultset去操作或者做其他的操作时就有可以能出现这样的问题,这样的悬挂着连接一直要等到超时mysql将其kill掉。仔细检查你应用的事物中是否都做了明确的提交操作呢?或者干错使用Hibernate,试试C3P0、Proxool这样的连接池吧。
 
| | Comments (0) | TrackBacks (0)

收到服务器报警,查看/var/log/messages 中很多类似下面的日志:
Dec  9 00:03:22 kernel: mptscsih: ioc0: attempting task abort! (sc=ffff81007ec8bb00)
Dec  9 00:03:22 kernel: sd 0:0:0:0:
Dec  9 00:03:22 kernel:         command: Read(10): 28 00 05 4c 03 6a 00 01 00 00
Dec  9 00:03:23 kernel: mptbase: ioc0: LogInfo(0x31140000): Originator={PL}, Code={IO Executed}, SubCode(0x0000)
Dec  9 00:03:23 kernel: mptscsih: ioc0: task abort: SUCCESS (sc=ffff81007ec8bb00)
Dec  9 00:03:33 kernel: mptscsih: ioc0: attempting task abort! (sc=ffff81007ec8bb00)
Dec  9 00:03:33 kernel: sd 0:0:0:0:
Dec  9 00:03:33 kernel:         command: Test Unit Ready: 00 00 00 00 00 00
Dec  9 00:03:33 kernel: mptbase: ioc0: LogInfo(0x31130000): Originator={PL}, Code={IO Not Yet Executed}, SubCode(0x0000)
Dec  9 00:03:33 kernel: mptscsih: ioc0: task abort: SUCCESS (sc=ffff81007ec8bb00)
Dec  9 00:03:33 kernel: mptscsih: ioc0: attempting task abort! (sc=ffff810077e51380)
Dec  9 00:03:33 kernel: sd 0:0:0:0:

系统状态:
uname -a
Linux 2.6.18-53.1.13.el5 #1 SMP Tue Feb 12 13:02:30 EST 2008 x86_64 x86_64 x86_64 GNU/Linux

cat /etc/redhat-release
CentOS release 5 (Final)

#smartctl -a /dev/sda
smartctl version 5.36 [x86_64-redhat-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

Device: HP       DF072A9844       Version: HPD0
Serial number: DQA2P6B00GMC0648
Device type: disk
Transport protocol: SAS
Local Time is: Tue Dec  9 09:33:35 2008 CST
Device supports SMART and is Enabled
Temperature Warning Enabled
SMART Health Status: OK

Current Drive Temperature:     33 C
Drive Trip Temperature:        65 C
Manufactured in week 48 of year 2006
Current start stop count:      6 times
Recommended maximum start stop count:  10000 times
Elements in grown defect list: 0

Error counter log:
           Errors Corrected by           Total   Correction     Gigabytes    Total
               ECC          rereads/    errors   algorithm      processed    uncorrected
           fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
read:          0        0         0         0          0          0.000           0
write:         0        0         0         0          0          0.000           0

Non-medium error count:     2293
No self-tests have been logged
Long (extended) Self Test duration: 1815 seconds [30.2 minutes]

找了半天并没有看出有什么异常来,网上有些资料说是操作系统内核对SAS硬盘的支持不好,也有把责任归咎于dell服务器,但是我的机器可是HP滴!
HP官方站上找到了一点信息  是关于磁带备份操作中的注意事项。

再观察几天,也继续搜索一下解决方案,如果还没有结果的话,我准备重做系统了,降低内核版本,装回32bit再试试看。



| | Comments (0) | TrackBacks (0)
windows下的文件时间戳有三个属性,创建时间、修改时间、访问时间*nix下方便的多了,可以使用touch来进行修改,windows下也可以使用专门的工具来进行修改(别跟我说你是通过修改操作系统时间后再创建文件哟!)
本文使用python2.6来进行处理,代码很简单,美中不足的是python提供的模块中并没有可以修改文件创建时间的,而修改时间和访问时间均可以任意修改,代码具体如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os,sys,time
from stat import *
filename='D:\\2hei.net\\test.txt'
#指定期望修改后的时间
TimeForChange = '2007-01-10 07:51:21'
#转换时间格式为long型
ConverTime = time.mktime(time.strptime( TimeForChange,'%Y-%m-%d %H:%M:%S') )
print TimeForChange+' 转换后:'+str(ConverTime)

print '-------------修改前----------------'
#创建时间
print '创建时间  '+time.ctime(os.path.getctime(filename))
#最后修改时间
print '修改时间  '+time.ctime(os.path.getmtime(filename))
#访问时间
print '访问时间  '+time.ctime(os.path.getatime(filename))

#修改文件时间戳
times=(ConverTime,ConverTime)
#进行修改
os.utime(filename, times)

print '-------------修改后----------------'
#创建时间
print '创建时间  '+time.ctime(os.path.getctime(filename))
#最后修改时间
print '修改时间  '+time.ctime(os.path.getmtime(filename))
#访问时间
print '访问时间  '+time.ctime(os.path.getatime(filename))

首先在本地创建一个test.txt的文件(文件夹类似),先右键点击查看属性:
2008-12-07_184152.png






























可以看到文件的三个基本属性,时间都是2008年12月7日,
程序运行的输出结果:
2007-01-10 07:51:21 转换后:1168386681.0
-------------修改前----------------
创建时间  Sun Dec 07 18:16:56 2008
修改时间  Sun Dec 07 18:41:38 2008
访问时间  Sun Dec 07 00:00:00 2008
-------------修改后----------------
创建时间  Sun Dec 07 18:16:56 2008
修改时间  Wed Jan 10 07:51:22 2007
访问时间  Wed Jan 10 00:00:00 2007

在右键点击查看文件属性,可以看到已经变成如下图:
2008-12-07_184427.png





































可以看到文件的修改时间已经变成了2007年的1月10日,时间属性修改成功。

| | Comments (0) | TrackBacks (0)
需求来了:一台老机器,系统是redhat9,上面需要安装oracle9i,呵呵,开始折腾!
生活就是在折腾来折腾去,最后也没弄清楚到底在折腾啥,完事后对这镜子哈哈大笑,至少我还折腾过!
废话少说,步入正题。

好久没有装过oracle9了,以往的笔记都是在rhel4下面使用vnc来操作的。
据说oracle9i也可以在字符界面下安装,
./runInstaller –silent –responseFile /opt/oracle/product/responfile
responfile是参数文件,oracle在安装时读取相关参数。
oralogo_small.gif


不过有人说oracle9i不能完全自动安装,还需要手动指定一些参数和执行相关脚本,这个具体没有试过,所以还是想到了以往的经验使用vnc来安装。

#uname -a
Linux 2.4.25 #2 SMP Wed Apr 28 13:10:52 CST 2004 i686 i686 i386 GNU/Linux
系统版本 redhat9,很老的版本
使用 rpm -qa | grep vnc 查看后并没有安装vnc。
redhat9从2004年就不更新了,好些包都已经不好找,还好我们可以使用CentOS3的安装包。
理由有下面两点:
1、rhel 3 与redhat 9 最后更新后的软件版本绝大部分相同
2、CentOS 3是从Redhat Enterprise Linux 3源代码重新编译的,与rhel 3完全兼容。
centos_logo_45.png

http://isoredirect.centos.org/centos/3/os/i386/RedHat/RPMS/
下面有好多rpm包,可以尽情享用了。

有些郁闷的是在安装vnc的时候发现系统也没有安装Xwindows,导致vnc无法运行,原因是相互依赖的很多包都没有,哎,开始郁闷了。

经过多次的尝试和努力,一个包一个包的下载和安装,如下:
rpm -ivh vnc-3.3.3r2-47.i386.rpm
rpm -ivh vnc-server-3.3.3r2-47.i386.rpm
rpm -ivh XFree86-xauth-4.3.0-122.EL.i386.rpm
rpm -ivh xterm-179-6.EL3.i386.rpm
rpm -ivh XFree86-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-75dpi-fonts-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-twm-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-libs-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-libs-data-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-libs-data-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-libs-data-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-libs-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-libs-data-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-twm-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-libs-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-twm-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-100dpi-fonts-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-base-fonts-4.3.0-122.EL.i386.rpm

呵呵,你说我容易吗,最后终于我的vnc可以运行了
vncserver已经可以监听端口和配置登陆密码了!
赶快切到oracle用户,启动vnc,
2008-12-06_093556.png
客户端vnc登陆后,








在解开的Disk1下,运行./runInstaller,呵呵呵,久违的oracle GUI安装界面映入眼帘,(具体9204的补丁及安装设置略,请见相关文档)
一路安装下去颇为顺利,很快装完。
最后要感谢铁岭电视台、感谢cctv、也要感谢提供软件的centos ...


| | Comments (0) | TrackBacks (0)
| | Comments (0) | TrackBacks (0)
resin3自带caucho-status页面,不过页面显示内容不是很详细,其提供的admin页面更能够详细的记录resin的运行状况。
在resin.conf中添加如下配置:

  <management path="/home/resin3/php/admin">
    <user name="admin" password=""/>
  </management>

另外添加  
    <web-app id="/resin-admin" root-directory="/home/resin3/php/admin">
     <prologue>
        <resin:set var="resin_admin_user" value="admin"/>  
        <resin:set var="resin_admin_password" value=""/>  
        <resin:set var="resin_admin_external" value="true"/>  

     </prologue>
  </web-app>
注意<resin:set var="resin_admin_external" value="true"/>  的设置是允许外部进行管理,可以添加ip访问限制,否则可能存在安全隐患。
配置好以后使用 https://ip/resin-admin/login.php登陆
2008-12-04_140732.png
  






















这里可以输入用户名、密码来生成你需要的md5加密后的口令,然后添加到resin.conf中。
2008-12-04_140836.png













登陆以后的页面如下:
2008-12-04_140443.png















可以看到summary、config、threads等,可惜的是heap、cache、cluster等功能都是professional版本才可以。
2008-12-04_140530.png















可以看到数据库连接池、TCP连接数及使用的内存等数据,还是比较直观的一个工具哟!

| | Comments (0) | TrackBacks (0)
#!/usr/bin/env python
# -*- coding: utf-8 -*-

#ip转化为long型格式
def iptolong(ipaddr):
    data = 0L
    ip = ipaddr.split('.')
    for i in range(0,len(ip)):
        if 0 <= long(ip[i]) < 256:
            data = data+long(ip[i])*(256**(3-i))
        else:
            data = 0L
            break
    return data

#long型转化成ip格式
def longtoip(iplong):
    i_4 = iplong % 256
    i_3 = (iplong - i_4)/256 % 256
    i_2 = (iplong - i_3*256 - i_4)/256**2 % 256
    i_1 = (iplong - i_2*256*256 - i_3*256 - i_4)/256**3 % 256
    ip = str(i_1)+'.'+str(i_2)+'.'+str(i_3)+'.'+str(i_4)
    return ip



| | Comments (0) | TrackBacks (0)

说明:
本文是在apache2+resin3(开源版)环境下的配置,主要是对resin3配置进行了分析,详细调试请见caucho-doc ,apache2的调优见apache的man文档。实践总结,如转载请注明出处--2hei.net 谢谢.

  Using Resin(R)  under the GNU Public License (GPL).
  See
http://www.caucho.com for information on Resin Professional,
  including caching, clustering, JNI acceleration, and OpenSSL integration.

resin配置文件:  resin.conf

1、dependency-check-interval 参数调整
resin检查系统配置及java、jsp、resin.conf等文件的时间间隔。
默认值为2秒,适合开发及调试环境,如果是正式环境尽量把参数调大或者直接改为-1,不允许检查,也就是禁止了热部署。
<dependency-check-interval>-1s</dependency-check-interval>

2、缓存
改变cache-mapping的值:
      <cache-mapping url-pattern="/" expires="5s"/>
      <cache-mapping url-pattern="*.gif" expires="60s"/>
      <cache-mapping url-pattern="*.jpg" expires="60s"/>
      <cache-mapping url-pattern="*.png" expires="60s"/>
3、jvm优化
jvm需要根据你的系统配置及应用来调整。

JVM OPTION PASSED TO RESIN     MEANING
-Xms                           initial java heap size
-Xmx                           maximum java heap size
-Xmn                           the size of the heap for the young generation

将-Xms和-Xmx设置为一样大小是不错的选择。
如: bin/httpd.sh -Xms500M -Xmx500M -Xmn100M

更多的关于jvm优化参数如:young generation、Eden generation、older generation可见
Sun documentation on garbage collection

jvm的监控,google一下有很多的工具,如:jconsole jstat jstack

jconsole的使用见我的另外一篇文章 《使用Jconsole对java的内存使用情况(JVM)进行监控

$jps
1229 Jps
1003 Resin
973 resin.jar

$jmap 973
Attaching to process ID 973, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 1.5.0_16-b02
0x0000000040000000      64K     /home/jdk1.5.0_16/bin/java
0x00000030b2a00000      127K    /lib64/ld-2.5.so
0x00000030b2e00000      1647K   /lib64/libc-2.5.so
0x00000030b3200000      22K     /lib64/libdl-2.5.so
0x00000030b3600000      600K    /lib64/libm-2.5.so
0x00000030b3a00000      138K    /lib64/libpthread-2.5.so
0x00000030b5a00000      111K    /lib64/libnsl-2.5.so
0x00002aaab46ad000      26K     /home/jdk1.5.0_16/jre/lib/amd64/libmanagement.so
0x00002aaab49de000      79K     /home/jdk1.5.0_16/jre/lib/amd64/libnet.so
0x00002aeeac3c1000      9933K   /home/jdk1.5.0_16/jre/lib/amd64/server/libjvm.so
0x00002aeeacd46000      43K     /home/jdk1.5.0_16/jre/lib/amd64/native_threads/libhpi.so
0x00002aeeace61000      52K     /lib64/libnss_files-2.5.so
0x00002aeead06c000      58K     /home/jdk1.5.0_16/jre/lib/amd64/libverify.so
0x00002aeead17b000      171K    /home/jdk1.5.0_16/jre/lib/amd64/libjava.so
0x00002aeead2a5000      78K     /home/jdk1.5.0_16/jre/lib/amd64/libzip.so

jstat -gc 1489 1000 3
 S0C    S1C    S0U    S1U      EC       EU        OC         OU         PC     PU        YGC     YGCT  FGC     FGCT     GCT  
43648.0 43648.0  0.0    0.0   262208.0 101390.5  699072.0   18545.6   28032.0 15756.6      1    0.055   1      0.115    0.170
43648.0 43648.0  0.0    0.0   262208.0 101390.5  699072.0   18545.6   28032.0 15756.6      1    0.055   1      0.115    0.170
43648.0 43648.0  0.0    0.0   262208.0 101390.5  699072.0   18545.6   28032.0 15756.6      1    0.055   1      0.115    0.170

jstack 1489
Thread 1495: (state = BLOCKED)
 - java.lang.Object.wait(long) @bci=0 (Interpreted frame)
 - java.lang.Object.wait() @bci=2, line=474 (Interpreted frame)
 - java.lang.ref.Reference$ReferenceHandler.run() @bci=46, line=116 (Interpreted frame)

Thread 1489: (state = IN_NATIVE)
 - java.net.SocketInputStream.socketRead0(java.io.FileDescriptor, byte[], int, int, int) @bci=0 (Interpreted frame)
 - java.net.SocketInputStream.read(byte[], int, int) @bci=84, line=129 (Interpreted frame)
 - java.net.SocketInputStream.read() @bci=23, line=182 (Interpreted frame)
 - com.caucho.server.resin.Resin.waitForExit() @bci=304, line=1265 (Interpreted frame)
 - com.caucho.server.resin.Resin.main(java.lang.String[]) @bci=42, line=1367 (Interpreted frame)
 

4、JNI加速
resin不使用NIO而是使用了JNI的方式使用本地码的方式来提升效率,经验证,resin使用JNI的效率要高于使用NIO,
使用JNI是需要对resin进行编译,在./configure时把jni编译进去,

./configure --enable-jni      美中不足的是Resin Professional版本才提供此项功能。

下面是resin-doc的说明:
Resin does not use NIO - it uses JNI to handle low-level I/O calls with native code. The performance using this method was found to be much better than nio.

5、jsp第一次编译的处理
一般来讲,第一次访问jsp会自动进行编译,如果更新了过多的jsp、且系统访问很大的话,重启resin容易造成负载过高。

下面配置是启动app-server时,对所有的jsp进行编译,编译完毕后启动监听,这样启动时间会长一些,但是可以防止第一次访问编译造成系统负载大。
      <listener>
        <listener-class>com.caucho.jsp.JspPrecompileListener</listener-class>
        <init>
          <extension>jsp</extension>
          <extension>jspx</extension>
        </init>
      </listener>
6、resin 与apache 性能的比较
resin3单独使用时性能也是不错,当然也可以跟apache配合使用。下面是resin-doc中的说法:
For JSP and Servlets, Resin standalone is certainly faster than Resin/Apache. Because of the extra overhead of the Resin/Apache connection, the Resin/Apache configuration is necessarily slower than Resin standalone.
可以看出各有优劣,
apache对于静态页面来说比较快。如果使用了SSL,apache+resin要比resin单独使用快一些,更为重要的是resin3的开源版本不支持ssl。

7resin-server TIME_WAIT 过多的处理
thread-max指定了最大连接数,socket-timeout是socket超时时间
keepalive-max指定了长连接的数量,这是可以重复使用的连接,netstat -an时系统可以看到响应数量的ESTABLISHED状态
设定keepalive-max和把keepalive-timeout调小可以减少TIME_WAIT的数量。
      <thread-max>256</thread-max>
      <socket-timeout>65s</socket-timeout>
      <keepalive-max>128</keepalive-max>
      <keepalive-timeout>120s</keepalive-timeout>
一般来讲如果是Resin standalone方式,调整timeout并不是很重要,如果是apache+resin的方式,而且apache压力很大的情况下,需要调小timeout的值。
load-balance-idle-time是用来设置load-balance和分布式session的关闭时间,默认时间为keepalive-timeout - 1s
<load-balance-idle-time>100s</load-balance-idle-time>

8、关于watchdog
resin3启动是多了一个watchdog的进程。可以单独启动也可以跟随resin.jar一起启动,主要是用来监控resin jvm实例,在必要的时候重启。

<watchdog-jvm-arg>-Dcom.sun.management.jmxremote</watchdog-jvm-arg>
<watchdog-port>6600</watchdog-port>

查看  watchdog  状态   
java -jar lib/resin.jar status
Resin/3.1.6 status for watchdog at 127.0.0.1:6600

server '' : active
  password: missing
  user: root
  root: /home/resin/
  conf: /home/resin/conf/resin.conf

| | Comments (0) | TrackBacks (0)
今天遇到这样一个问题,mysql无法登陆,日志提示如下:
[Wed Nov 12 14:15:38 CST 2008][MysqlDb.connectDB]java.sql.SQLException: Client does not support authentication protocol requested by server; consider upgrading MySQL client

搜了一下,好多人遇到此问题,大致是mysql版本不通造成的,以下是解决办法:
mysql>UPDATE mysql.user SET Password = OLD_PASSWORD('yourpass') WHERE Host = 'localhost' AND User = 'username';
mysql>FLUSH PRIVILEGES;

这里是mysql官方的解释!
http://dev.mysql.com/doc/refman/5.0/en/old-client.html
| | Comments (0) | TrackBacks (0)
cat /var/log/messages
 i meet such logs:
 kernel: mptbase: ioc0: LogInfo(0x31120401): Originator={PL}, Code={Abort}, SubCode(0x0401)
 
#modinfo mptbase
filename:       /lib/modules/2.6.18-53.1.13.el5/kernel/drivers/message/fusion/mptbase.ko
version:        3.04.04
license:        GPL
description:    Fusion MPT base driver
author:         LSI Logic Corporation
srcversion:     DEE575D01207DC868D4D69B
depends:       
vermagic:       2.6.18-53.1.13.el5 SMP mod_unload gcc-4.1
parm:           mpt_msi_enable: MSI Support Enable (default=0) (int)
parm:           mpt_channel_mapping: Mapping id's to channels (default=0) (int)

#lsmod
Module                  Size  Used by
ipv6                  411425  16
dm_mirror              60105  0
dm_mod                 96017  1 dm_mirror
video                  51273  0
sbs                    49921  0
backlight              39873  0
i2c_ec                 38593  1 sbs
button                 40545  0
battery                43849  0
asus_acpi              50917  0
acpi_memhotplug        40133  0
ac                     38729  0
parport_pc             62313  0
lp                     47121  0
parport                73165  2 parport_pc,lp
sg                     69865  0
shpchp                 70765  0
ata_piix               49861  0
i2c_i801               41429  0
tg3                   141381  0
i2c_core               56129  2 i2c_ec,i2c_i801
libata                160977  1 ata_piix
pcspkr                 36289  0
mptsas                 62545  6
mptscsih               56513  1 mptsas
mptbase                92640  2 mptsas,mptscsih
scsi_transport_sas     66753  1 mptsas
sd_mod                 56257  7
scsi_mod              186361  6 sg,libata,mptsas,mptscsih,scsi_transport_sas,sd_mod
ext3                  166993  5
jbd                    93873  1 ext3
ehci_hcd               65229  0
ohci_hcd               54493  0
uhci_hcd               57433  0

cat /proc/mdstat
Personalities :
unused devices: <none>

google and google, no answer!
~ who can help me ? ~ 

| | Comments (0) | TrackBacks (0)
教程列表地址:
http://www.youku.com/playlist_show/id_2566735_ascending_1_page_1.html


下面是第26讲,ip协议
| | Comments (0) | TrackBacks (0)