大家共用的开发机io不正常,磁盘空间总是被莫名其妙的占满,怀疑是某些东西在不断的生成日志,,想看下具体是那些进程在使用IO,需要安装一个iotop, 使用命令sudo yum install iotop,安装成功,但是运行iotop时提示 No module named iotop.ui To run an uninstalled copy of iotop, launch iotop.py in the top directory 开始还以为是没安装好,卸载了重新安装,问题依然存在。 后来仔细分析了提示信息:No mudule name xxx 应该是python的提示信息,由于服务器上默认的python版本2.4太低,我们自己安装了2.6的版本,并且把/usr/bin/python指向了2.6版本的python,而使用yum安装的库在python2.4的路径下,这就导致直接运行iotop时出现模块不存在的信息,之前yum也有同样的问题。 解决方法也很简单,只需要把安装的iotop -> /usr/bin/iotop第一行的python运行环境由#!/usr/bin/python改为#!/usr/bin/python2.4即可。

阅读全文

centos下启用snmp

安装 Net-SNMP CentOS及其它RedHat系列产品提供了net-snmp的二进制包。我们可以直接从源里安装。 说明:net-snmp-devel是为了使用net-snmp-config, net-snmp-utils是为了使用snmpwalk。 配置 Net-SNMP 以上命令,创建一个snmpv3用户,只读,使用MD5,用户名为jiankongbao,密码为snmp@jiankongbao。 注意:运行之前请先停用net-snmp服务。 运行 Net-SNMP 运行 Net-SNMP 服务的方法比较简单,不过Net-SNMP服务的名字是snmpd。 如果要加入开机自动运行服务列表: 检测 Net-SNMP 我们可以使用 snmpwalk 来检测snmp服务是否正常开启。 如果一切正常,就会返回正常结果。 有关snmpwalk的参数说明,请参见其man文档。

阅读全文

想用go做一个统计svn代码提交的工具,类似statsvn。 今天进展到了用go解析svn log生成的xml格式的文件,在go doc上找了一个Example,已经包括了一些比较典型的解析案例,但是在照葫芦画瓢的时候还是遇到了问题,有个paths下有多个path,每个path都有自己的属性和值,想同时渠道属性和值,真是费了好大的劲。 先上个svn xml 格式 log 的demo。 解析其它的都很顺利,但是解析paths这块的时候遇到了点麻烦。如果 … Paths []Path `xml:”paths”` …, 这样的话,只能取到一个path的值,但是如果使用 Paths []Path `xml:”paths>path”` ,又只能取到Action和Kind的值,path的value取不到。在stackoverflow上又看了几个例子,发现有个,chardata的用法,才知道原来指定value还可以这样用。将Path的struct Path 的xml定义改为 `xml:”,chardata”`,就可以顺利的取到value了。 具体的struct就不写了,如果有需要,可以到我正在开发的GoStatsvn去看看。托管在GitHub。 参考: 跟表示XML相关的数据结构 ①type Name struct { Space, Local string } Local表示本地名字,Space表示命名空间前缀(命名空间标示符),该类型没有提供任何方法,主要用途一般是在XML根元素上定义一个该类型,变量名必须为XMLName,类型就为:xml.Name ②Attr(属性)、CharData(字符数据)、Comment(注释)、ProcInst(处理指令)等。这些类型都是XML标准定义的表示,有兴趣可以查看XML的标准对照学习。

阅读全文

三次握手的第三个ACK包丢了——客户端认为连接建立,写数据时,会触发RST 当Client端收到Server的SYN+ACK应答后,其状态变为ESTABLISHED,并发送ACK包给Server; 如果此时ACK在网络中丢失,那么Server端该TCP连接的状态为SYN_RECV,并且依次等待3秒、6秒、12秒后重新发送SYN+ACK包,以便Client重新发送ACK包。 Server重发SYN+ACK包的次数,可以通过设置/proc/sys/net/ipv4/tcp_synack_retries修改,默认值为5。 如果重发指定次数后,仍然未收到ACK应答,那么一段时间后,Server自动关闭这个连接。 但是Client认为这个连接已经建立,如果Client端向Server写数据,Server端将以RST包响应,方能感知到Server的错误.

阅读全文

作者的图片

DigDeeply

Technology Stack: Golang/PHP/Openresty, and so on…

Web Development Engineer

Beijing China