linux系统
ShiningStarPxx
这个作者很懒,什么都没留下…
展开
-
服务器管理--安装篇
自从自己出来做后,手里拿了一堆服务器,每次重新安装环境的时候,都要部署这几个基本的组件,现在就记录下来,以备后面不时之需。自己的本机上,通常需要SSH,来连接远程的服务器sudo apt-get install ssh安装apachesudo apt-get install apache2安装php以及对应的apache 的php5modsudo apt-g原创 2012-08-09 00:05:25 · 1125 阅读 · 0 评论 -
google test 中的小陷阱
昨天晚上在做单元测试时,有两个例子始终过不去。但是令我惊讶的是,分别测试时,竟然可以通过。程序的本质上来说就是对一个字符串的按位读取。那么为什么,这个程序会出现这样的异常情况呢?我的初步怀疑是gtest是多线程的,而我在对字符串操作的时候不是线程安全的,导致当前在字符串的索引与我的预期出现了偏差。今天晚点时候写个简单的例子来验证一下。原创 2013-05-15 09:35:01 · 706 阅读 · 0 评论 -
数据类型 -- uint32_t 类型(ZZ)
1>. 在写程序时注意"无符号类型"的使用, 各种类型边界值的情况. 如: a> 当某个数据不可能为负数时我们一定要考虑用以下类型: unsigned char, unsigned int, uint32_t, size_t, uint64_t, unsigned long int, b> 当有些数据你不知道是正负时一定不要用"a>"中的类型, 不然转载 2013-05-13 23:29:20 · 1591 阅读 · 0 评论 -
线程安全
之前的一篇中提到了,在访问同一个i对象时,可能会有访问结果跟预期不一致的问题。今天正好看到了一些线程对内存访问加锁的函数,于是上网搜集了一下,做了个整理。参考资料:http://www.cnblogs.com/FrankTan/archive/2010/12/11/1903377.htmlhttp://blog.itmem.com/?p=1286http://pic.dhe.ibm.com/inf原创 2013-05-18 12:33:27 · 686 阅读 · 0 评论 -
protobuf 使用中发现的一个问题
首先先说一下版本protoc --version2.5.0然后说一下bug是什么,就是在把一个对象序列化成一个ostringstream后,如果再把另一个对象序列化到同一个ostringstream后,会发现第二个对象变成了两个对象。即使ostringstream.clear() 后一样会有问题先上协议文件, 标准的examplepackage lm;原创 2013-05-16 18:08:56 · 1014 阅读 · 0 评论 -
极不和谐的 fork 多线程程序
原文地址http://blog.codingnow.com/2011/01/fork_multi_thread.html极不和谐的 fork 多线程程序继续前几天的话题。做梦幻西游服务器优化的事情。以往的代码,定期存盘的工作分两个步骤,把 VM 里的动态数据序列化,然后把序列化后的数据写盘。这两个步骤,序列化工作并没有独立在单独线程/进程里做,而是放在主线程的。IO 部分则在一转载 2013-04-16 20:22:52 · 652 阅读 · 0 评论 -
Cannot assign requested address
在做压力测试的时候,发现客户端总会报错误Cannot assign requested address上网搜了资料后发现,1. 要设socket 是可重用的,但是这个我在程序里也已经写了int bReuseaddr=1;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(in原创 2013-04-16 16:32:54 · 983 阅读 · 0 评论 -
linux下最大文件描述符的限制
linux下最大文件描述符的限制有两个方面,一个是用户级的限制,另外一个则是系统级限制。先介绍如何修改系统级的限制通常我们通过终端连接到linux系统后执行ulimit -n 命令可以看到本次登录的session其文件描述符的限制,如下:$ulimit -n1024当然可以通过ulimit -SHn 102400 命令来修改该限制,但这个变更只对当前的session转载 2013-04-15 10:53:28 · 968 阅读 · 0 评论 -
ubunut配置静态ip和dns
如果有机会在自己的局域网内搭建自己的服务器,必然涉及到修改其ip,让改ip不变,以便日后访问的方便。下面就讲讲,如何来设置这样的ip,1. 打开 /etc/network/interfaces2. 注释 iface eth0 inet dhcp3. 添加 , 请注意,根据自己的实际情况修改 iface eth0 inet static原创 2012-10-11 17:07:56 · 1061 阅读 · 0 评论 -
linux下定位问题的几个工具
当你自己开发维护一套网站之类的时候,总会遇到各种异常的问题,或者有着性能优化的迫切需求,抑或着遭到了一些简单的攻击。那么这个时候,一些比较好的,成型的工具会给你快速定位问题,带来很好的帮助。一。 tail -f 的用法通常用作日志的定位小命令。在遇到问题的时候,用这个可以跟踪问题发生的逻辑前后,方便做出逻辑分析和推测。1. apache log: 在ubuntu下面,通常原创 2012-08-13 22:48:42 · 1452 阅读 · 0 评论 -
更改默认shell到bash
安装ubuntu,创建了新的用户后,会发现默认的shell很不好用,那么这个时候,下面的命令会帮你换成熟悉的shellchsh -s /bin/bash username>原创 2012-08-09 23:14:43 · 753 阅读 · 0 评论 -
linux 服务器时间函数
linux下,至少有两种当前时间的获取函数,1. time(NULL)2. gettimeofday(NULL, NULL) 这两个函数都是在用户态完成的,效率上来说,time更高;精度上来说gettimeofday()更好。根据需要自己选择吧,测试函数如下,#include #include #include #include #inc原创 2013-06-09 16:15:53 · 978 阅读 · 0 评论