- 博客(244)
- 资源 (3)
- 收藏
- 关注
原创 ubuntu12.10下eclipse崩溃的问题
问题的原因出在了fcitx上,4.2.4版本有bug会导致jvm崩溃,解决的办法就是升级到一4.2.4之后的版本sudo add-apt-repository ppa:fcitx-team/nightlysudo apt-get updatesudo apt-get upgrade fcitx
2013-04-17 10:31:37 1881 3
原创 一个诡异的问题
今天第一次碰到因为stack太小导致的c模块core,一个原来没有任何问题的代码放在另外一个平台上去跑的时间不管怎么跑都会有一个很莫名奇妙的地方core 掉,检查了半天之后经同事提醒确认是栈太小了,内在被写坏了
2013-04-15 16:12:28 1290
原创 如何连接两个局域网
首先定义一下什么叫做连接两个局域网假如一个局域网在192.168.1.0/24 这个段,另外一个局域网在192.168.2.0/24这个段,我们可以在192.168.1.0这个网段里直接访问192.168.2.0里的任何ip,也可以在192.168.2.0里访问任何192.168.1.0里的ip,那么这个就叫做连接两个局域网如果192.168.1.0和192.168.2.0能够通过第三个网
2013-04-15 13:44:23 8567
原创 golang里如何将一个struct指针转换成slice
废话不说了,直接上代码package mainimport "unsafe"import "fmt"func abc() { type T struct { a int b int c int } type SliceHeader struct { addr uintptr len int cap int } t := &T{a: 1, b:
2013-03-12 11:18:04 5728
原创 如何让svn更加智能的进行权限管理
目前公司的人越来越多,目录也越来越复杂,如何更方便的做svn的权限管理呢?搜索了一圈,发现subversion默认提供的只有基于文件的到路径级别的权限管理,而其他的一些开源的提供的基于apache和mysql的权限管理基本上都年久失修,没办法再使用了。那怎么办呢?重写一个apache的module?这个显然比较费时,因为对apache的module编写不是很熟悉,而且需求一旦有变更修改起来也很麻烦
2013-03-05 17:35:02 3064 1
原创 如何知道一个nat后面的机器的公网ip是什么
今天遇到一个情况,我们一个在nat后面的linux服务器需要与一个外网的机器通信,需要对方给打开防火墙,这样就必须得知道我们的出口ip,但是运维的同学不在,之前的出口ip似乎被换过了,怎么办呢?一个简单的办法,www.ip138.com可以看到ip地址,所以直接用wget就可以解决问题 wget http://iframe.ip138.com/ic.asp -O a 然后cat a
2013-02-08 09:54:51 4043
原创 php的file_set_contents导致的一个系统主线问题
周六的时候线上服务器有些脚本执行出现问题,后来调查了半天终于在mail里发现了crontab执行时报一个bus error造成问题的原因,初步分析是因为多个php脚本同时写入一个文件,数据大概在2.6M左右,于是就导致了buss errorfile_put_contents第三个参数可以指定是否需要写锁,照这个情况来看,一般情况下还是需要写锁的
2013-01-28 14:37:16 3219
原创 查看linux进程的确切启动时间
ps -ef可以看到进程的启动时间,但是这个时间如果超过24小时就只能看到年份了,使用如下命令可以看到精确的启动时间ps -eO lstart
2013-01-16 14:04:14 6610
原创 php过载后无法恢复的原因分析
最近php机器频繁出现过载后再也无法提供服务的现象,只要一有请求发过去,负责处理该请求的php进程就是cpu占用100%。本来的负载均衡策略是一旦某机器的php请求出现连接超时就将该机器的权重降低,发向该机器的请求概率就会降低,虽然有一定滞后效应,但是最终应该能够降压并且最后恢复服务,但是这个策略在最近突然失效了。出现这个情况之后无法发送什么请求到php-fpm都会cpu100%,即使请求的是一个
2013-01-11 12:01:36 1983
原创 linux下如何隐藏命令行参数
有时候会遇到这样的需求,不希望命令行的某些参数被ps出来,比如命令行参数里可能存在一些用户名和密码之类的东西,在linux下如果你想隐藏这些东西的话,可以直接将argv中的这些参数变成其他东西,比如xxxxx,下面是一个hideArg函数示例void hideArg(int argc, char** argv, const char* arg){ for (int i = 1; i <
2013-01-09 10:36:51 4074
原创 php中重载数组操作符
在php中提供了许多接口用于实现一些很特定的功能,比如你想把一个对象当作array使用时,只需要实现ArrayAccess接口,当你想要foreach中能够使用一个对象时,只需要实现Iterator接口,下面给一个例子出来class BtstoreRoot{ /** * 根结点 * @var BtstoreElement */ static $root;}cl
2013-01-06 11:45:13 2485
原创 分享一个服务器重启问题发现的过程
最近突然机房的机器开始频繁出现重启的状况,以前也出现过机器重启的情况,但是重启之后未发现任何异常情况,于是当时判定是电压不稳引起的个别情况,但是最近这个情况越来越频繁,于是就需要重新思考这个问题出现的原因了。1、这个情况是在给机房搬入一批机器后开始出现的,因此初步怀疑是不是一个机柜机器太多电压不稳造成的,跟运维确认发现这些机器之前就是在那个机房的,又搬回来原来的位置,所以电压不稳的可能性不大,
2012-12-15 17:51:30 3371
原创 share一个自动跳mysql从库上1062错误的脚本
从库突然掉电可能会导致log里的信息没flush到硬盘,于是从库启动之后主从会因为1062(主键重复)而卡住,这里提供一个自动跳1062的脚本#!/bin/shMYSQL=mysqllastPos=0while [ 1 ]; do $MYSQL -uroot -e "show slave status\G" > /tmp/.skip la
2012-12-15 14:19:45 1795
原创 如何提高zookeeper每个结点所能存储的数据大小
今天发现一个问题,zookeeper默认对每个结点的最大数据量有一个上限是1M,如果你要设置的配置数据大于这个上限将无法写法,在网上查了一圈发现有一个解决方案如下,增加-Djute.maxbuffer=10240000参数 最终提供一个完整的修改后的zkServer.sh文件如下 #!/bin/sh# Licensed to the Apache Software Foun
2012-12-04 15:05:13 14050
原创 SecureCRT中使用代理
最近跟海外合作需要使用对方的服务器,但是网络实在是太慢了,操作起来很难受,好在我们连香港很快,于是就想让香港服务器做为代理,用SecureCRT作为一个代理服务器是一件很简单的事情,但是怎么让SecureCRT使用代理,这个以前还真没搞过,搜索了一圈终于发现SecureCRT中把代理放在了firewall里。 options->global options->firewall->add->
2012-10-30 14:01:46 10408
原创 acpi导致的问题
今天过来发现泰国人说服务器出问题了,结果上去一看dmesg里输出了一串信息如下INFO: task kacpi_notify:155 blocked for more than 120 seconds."echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.kacpi_notify D ffff
2012-10-19 18:10:06 8518
原创 清空memcache中所有数据的方法
第一、连接:telnet 127.0.0.1 11211 第二、按回车键 第三、flush_all 后回车 控制台显示OK,表示操作成功 说明: 1、清空所有键值 flush_all 注:flush并不会将items删除,只是将所有的items标记为expired,因此这时memcache依旧占用所有内存。 2、退出 quit
2012-09-05 16:59:45 6179
原创 java版本导致的zookeeper崩溃
今天给香港人配置服务器,突然发现zookeeper各种奇怪的表现,总有某个node突然cpu使用率很高,查了半天最终发现是java版本的问题,香港人用的是java1.5而我们原来用的都是java1.6,于是果断换成1.6就好了
2012-09-04 18:07:35 2171
原创 ulimit的问题
昨天突然发现机器上报Too many open files错误,去看了一下发现ulimit -n出来的结果很大,但是去/proc/pid/fd目录看,发现只能到1024,这个问题很奇特,后来去/proc/pid/limits文件查看实际的open files限制发现,soft nofile确实只有1024,修改soft nofile之后重启服务发现还是一样,后来突然想到我们的服务是通过superv
2012-07-12 09:59:50 1487
原创 xen虚拟机的资源分配
前几天一直在为虚拟机的效率问题头疼,看到所有的文章都说xen pv的性能还可以,但是实际我们在使用中却发现不是这样的,折腾了好久之后终于发现还是配置有问题用xm top可以看到dom0的cpu使用率基本上是所有其他虚拟机的cpu使用之和,从这里其实可以看出来,给dom0的cpu数目应该至少占到所有cpu数的一半,而由于pv的原因虚拟机的系统的许多计算是靠dom0来的,因此它的cpu使用率会
2012-07-07 14:06:01 2143
原创 swapper allocate failed的原因
最近发现线上机器出现一个问题 swapper: page allocation failure. order:1, mode:0x20Pid: 0, comm: swapper Not tainted 2.6.32-71.el6.x86_64 #1 dmesg里报出这个信息,然后机器负载开始上升,而实际上用free可以看到还有大量的内存被buffer/cached因此不应该
2012-07-03 16:10:37 10799
原创 mysql的client_flags
今天在测试自己写的异步mysql库时发现mysql 居然不认schema.table这种格式的sql,折腾了好久才发现原来是client_flag导致的,因此将所有的client_flag参数列出来如下#define CLIENT_LONG_PASSWORD 1 /* new more secure passwords */#define CLIENT_FOUND_ROWS
2012-06-27 10:09:47 3990 1
原创 ssh特别慢的一个原因
今天突然发现从虚拟机ssh连接到其他机器特别慢,但是一旦连上了又一切正常,试了下ping,发现正常,再试一下arp -a发现慢的要死,而arp -n又很快,这两个的区别就是不要显示机器名而已,于是设想是不是跟dns有关系,于是把系统的dns换了,换成网关,结果立即就正常了,被这个苦逼问题折磨了将近一天呀,真是杯具。
2012-05-13 23:14:53 1372
原创 如何让windows7支持courier new字体
我的windows7不知怎么回事突然显示不出来courier new字体了,很长一段时间也没空去理它,只能换个自己看着很不爽的其它字体凑合着先,今天终于有空去看了一下控制面板,发现系统里是有courier new的,那就奇怪了,为啥会显示不出来呢?再看看其他的选项,果然发现有一个隐藏不支持的字体,把那个勾去掉就啥都有了。
2012-05-13 23:12:27 5260
原创 lvm如何重命名
今天遇到需要对lvm进行重命名的情况,因为运维需求要将lvm统一命名,事实上将lvm重命名比较简单,但是重命名之后如果不做适当的修改将无法启动系统。vgrename oldname newname然后需要mount这个root,修改/etc/fstab,将里面对应的vg修改为新的名字mount boot然后修改menu.list
2012-05-02 22:07:34 2780
原创 Centos6下源代码安装Xen4.1.2
Centos从6.0开始不再支持xen,因此如果是Centos6的话安装xen的话就不再像以前那样几个命令就能搞定了。总体来说需要如下几个步骤1、 编译xen4.1.22、 编译支持xen的linux内核3、 重新编译libvirtd,因为Centos6上默认的libvirtd不支持xen4、 升级iptables以及bridge-util 首先,我
2012-05-02 11:44:33 3427 3
转载 获取xen客户机的数据
Accessing data on xen lvm guest imageAccessing xen guest image is very easy if the image is not lvm partitioned. But the main problem arise when the image is of lvm format and normal mount command c
2012-04-26 14:13:02 853
转载 在centos6.0下安装xen
http://www.centos.bz/2012/03/centos-6-install-deploy-xen/http://wiki.xen.org/wiki/RHEL6_Xen4_Tutorial
2012-04-24 20:48:31 1261
原创 利用pdfbox完成文档制作
今天突然想制作一个linux kernel的文档出来,但是由于kernel文档里提供的是目录结构的txt文件,因此我需要生成一个pdf文件,保持对应的目录结构找了好久,最终发现还是自己写代码实现比较靠谱,找来找去发现apache有一个叫pdfbox的库,很轻易就能实现这个需求,代码哪下 import java.io.BufferedReader;import java.io.Fil
2012-04-20 17:59:08 3226
原创 使用cacti自定义graph template进行监控
最近为了监控线上服务搭建了cacti,它的标准服务已经能够满足我们的大多数需求,但是还是有一些特定的需求需要对cacti进行扩展,于是就研究了一下如何进行扩展,这里我主要是通过script进行扩展的,因为对这个东西比较熟悉。总体来说,自定义graph template需要如下几个大的步骤新建Data Input Method新建Data Template新建Graph
2012-03-31 20:08:23 2928
原创 shell中的map实现
经常会在shell中遇到map的需求,但是如何实现呢? 一个最简单的办法,比如你需要一个多重map,比如$a["level1"]["level2"]["level3"] 那你就可建立一个目录结构root/level1/level2/level3 对这个数组的读取直接读root/level1/level2/level3这个文件,而对这个数组的写入也直接写入root/lev
2012-03-30 12:04:49 12471 1
原创 postfix用smtp.qq.com做relay发送邮件
主要的设置如下:relayhost = [smtp.qq.com]:25smtp_sasl_auth_enable = yessmtp_sasl_password_maps = hash:/etc/postfix/sasl_passwdsmtp_sasl_security_options = noanonymous 在/etc/postfix/sasl_passwd里输入如
2012-03-27 22:19:45 20749 3
原创 使用nc和go做简易测速服务器和客户端
这几天公司需要测试一下几家IDC的速度,由于需要找别人帮忙进行测试,因此需要尽可能搞的简单,于是就用go语言写了一个windows客户端。为啥用go呢?因为java需要jre,太大了;c++需要对应的库支持,写这个东西太麻烦,其他的语言都有类似的问题,而go做这些事情很简单,几行代码就搞定了,而且由于它完全是静态编译的,因此只要编译一个32位,一个64位即可,支持任何windows平台。
2012-03-20 20:40:17 2799
原创 如何解决goclipse中format失败的问题
最简单的办法,就是把自己的eclipse运行参数-Dfile.encoding=UTF-8加上 事实上在windows平台下goclipse会失败的原因就在于编码问题,windows是gbk编码,goclipse用了OutputStreamWrite而没有指定编码方式,因此它就默认使用了gbk方式,而文件实际上可能是utf8编码的,因此就会转失败。已经把这个错误报给goclipse了,不知
2012-03-08 21:08:38 1445
原创 使用redmine的自定义问题状态以及工作流功能
以前说过redmine的问题其实是可以当作工作流使用的,事实上如果配合上自定义问题状态,这完全可以作为一个比较强大的工作流软件,只要你设置足够的状态,并且在工作流里设置好正确的状态转移
2012-03-05 20:23:13 11508 2
原创 xxxdiff命令
前几天在使用svn diff时想过滤掉某些特定的文件,但是结果发现svn diff没有提供对应的东西,后来自己用awk写了段脚本去做,起名叫filtexxx,结果autocomeplete时发现有一个叫filterdiff的现成命令,man了一下,发现原来早就有了这种命令了,怪不得svn diff没有提供任何exclude的参数。 类似的命令有grepdiff lsdiff filterd
2012-03-05 19:40:46 1169
转载 转一个蛋疼的卷子
原地址不可考 选择题(皆为单选): 1,以下谁是二进制思想的最早提出者? a,伏羲;b,姬昌;c,莱布尼茨;d,柏拉图。 2,以下哪个概念和公孙龙的《指物论》中的“指”字含义相近? a,变量;b,数组;c,对象;d,指针。 3,蔺相如,司马相如;魏无忌,长孙无忌。下列哪一组对应关系与此类似? a,PHP,Python;b,JSP,servlet;c,java,cdt
2012-02-16 10:08:55 1231
原创 go支持windows下直接编译了
新的weekly tag终于支持windows下的go编译了 需求:1、mingw,由于windows下的go是利用mingw编译的2、hg,windows下可以用TortoiseHg 注意在path上加上hg和mingw的目录 然后先利用TortoiseHg来clone代码,然后进入go/src直接运行all.bat就可以了
2012-02-08 17:07:15 2625
原创 php的又一深坑
请大家看如下代码,并猜想结果会是什么样的? $arrData = array ( 'va_info' => array (array ('position' => 290, 'item' => 70009 ), array ('position' => 290, 'item' => 7000
2012-01-18 18:03:56 1281
Computer Science Handbook第二版.下
2010-02-03
Computer Science Handbook第二版.上
2010-02-03
Handbook of Data Structures and Applications
2009-06-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人