简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
前些天redhat发布了最新的advanced platform,或者俗称rhel5或者as5。我下载了一份然后安装到了我的虚拟机上,VMWare的版本是5.5.2 build29772。安装没问题,但是用startx启动x window的时候,有以下错误: X Window System Version 6.8.1 Release Date: 17 September 2004 X Protoc
我们都知道单进程、异步IO应该可以获得最优通讯性能。但现实里我们常常发现这种模式常常达不到预期的效果。这可能是由于网卡在和你的应用程序抢CPU。cat /proc/interrupts 看看你的网卡是几号中断,都在哪个CPU上工作?通常你的网卡应该工作在CPU0上面。(如果不是,可以把它绑到CPU0上面去)cat cat /proc/cpuinfo看看你有几个CPU,是多少核的。假设是双CPU*四
想找个C++的跨平台的,高性能的,易于使用的通讯库,在考虑过libevent、boost::aio、libapr、libev、libuv之后,又看到了gnome的gnio为什么这个库这么难找呢,这是由于linux下必须用epoll性能才高,在windows下必须用iocp性能才高。而这两个机制差异太大,不容易整合到一起。退而求其次,只要这个库能支持一万个并发连接的时候性能还过得去就好了。跨平台重要
所谓假死,就是能ping通,但是ssh不上去;任何其他操作也都没反应,包括上面部署的apache也打不开页面。作为一个多任务操作系统,要把系统忙死,忙到ssh都连不上去,也不是那么容易的。尤其是现在还有fd保护、进程数保护、最大内存保护之类的机制。你可以fork很多进程,系统会变得很慢,但是ssh还是能连上去;你可以分配很多内存,但是内存多到一定程度oom killer就会把你的进程杀掉,于是ss
我认为linux的多线程不如windows。理由如下:一、功能WaitForSingleObject在linux下可以用pthread_cond_wait来替代实现,但是pthread_cond_wait不能用来等待thread handle。要等待thread handle可以用pthread_join,但是没有超时。linux下没有WaitForMultipleObjects,也没有替代的实现
上篇文章说到linux需要itoa函数,下面我就提供一份跨平台的itoa函数。 //return the length of result string. support only 10 radix for easy use and better performanceint my_itoa(int val, char* buf){ const int radix = 1
linux的excutable在执行的时候缺省是先搜索/lib和/usr/lib这两个目录,然后按照ld.so.conf里面的配置搜索绝对路径,linux缺省是不会在当前目录搜索动态库的。windows加载动态库的时候,缺省是首先加载本地目录下的动态库,然后再搜索windows/system和windows/system32目录。windows的动态库搜索顺序,虽然有可能会造成潜在的混乱,但是对于
从windows访问linux,除了samba之外,日常操作用得最多的大概就是PuTTY和SecureCRTPutty是免费的,SecureCRT是收费的(当然,有破解版)。 Putty缺省配置就很好看很好用,SecureCRT的缺省配置不是为linux准备的而且很难看。Putty拿来就可以立刻使用,SecureCRT需要经过复杂的配置之后才好用,而且SecureCRT对linux下的emacs的
有一个非常有迷惑性的做法是:u_long has = 1;ioctl(m_sock, FIONBIO , &has);这个函数会非常无耻的返回你success,但是它实际上很可能什么也没做。正确的做法应该是使用fcntl:int flags = fcntl(m_sock, F_GETFL, 0);fcntl(m_sock, F_SETFL, flags|O_NONBLOCK);这真是一个隐蔽的问题
zookeeper不是为高可用性设计的由于要跨机房容灾,很多系统实际上是需要跨机房部署的。出于性价比的考虑我们通常会让多个机房同时工作,而不会搭建N倍的冗余。也就是说单个机房肯定撑不住全流量(你能设想谷歌在全球只剩下一个机房在干活吗)。由于zookeeper集群只能有一个master,因此一旦机房之间连接出现故障,zookeeper master就只能照顾一个机房,其他机房运行的业务模块由于没有m