工作了有4年了,在北京。走走停停,工作跳来跳去,没有什么积累。觉得现在也要好好沉淀一下了,于是决定每周写几篇博客。记录一下这一周以来的工作和学习。
现在进入了一个新公司,使用了很多新的技术(这里的新,指的是以前没有接触过)。Node.js,Redis。还有以前特别喜欢的东东,Linux,Python。以前工作的主要使用的C++,倒是放到了比较靠后的位置。
来新公司了两个星期了,主要关注点是Node.js和Redis,写的代码主要是Python。其中也是遇到了一些问题,也有一些总结的结论,比如Linux对于程序文件描述符的限制在1024。通过命令ulimit -n 去查看。如果要重新设置这个值,使用ulimit -n 10240,只能临时的解决,其他程序或者重启以后都失效了。
如果要比较彻底的解决这个问题,需要修改两个文件/etc/security/limits.conf
和/etc/pam.d/login,在limits.conf加上
* hard nofile 10240
两句话,设置了(任何)程序能打开文件描述符的最大值 ,soft 指的是当前系统生效的设置值,hard 表明系统中所能设定的最大值。
在login中要加上的语句是session required pam_limits.so,重启之后,就打开了1024的限制。
当然这里又引入了pam,以后可以再看。专门来研究一下。这个问题先到这里。
暂时先记录一下,需要记录的内容,博客可以下次在写。 Node.js异步编程比较适合作为压力比较大的服务器,所以它的错误处理要比较全面。除了要监听各种对象的error消息,还要try except捕捉,创建对象的错误。毕竟只有创建对象成功,才能监听到error消息。它没有创建,这本身就是一个错误。
Python的全局变量使用的时候,必须使用global 声明一下。
暂时就这么多吧,有点乱,也有点不深入。这个问题以后会改正的。希望技术博客越写越好。