推荐: blog.csdn.net/aquester https://github.com/eyjian https://www.cnblogs.com/aquester http://blog.chinaunix.net/uid/20682147.html
全部博文(594)
发布时间:2018-04-12 12:51:46
当Linux服务器的TIME_WAIT过多时,通常会想到去修改参数降低TIME_WAIT时长,以减少TIME_WAIT数量,但Linux并没有提供这样的接口,除非重新编译内核。Linux默认的TIME_WAIT时长一般是60秒,定义在内核的include/net/tcp.h文件中:#define TCP_TIMEWAIT_LEN (60*HZ)/* how long to wait to destroy TIME-WAIT state,.........【阅读全文】
发布时间:2018-03-29 20:07:33
结论:待确认是否为redis的BUG,原因是进程实际占用的内存远小于配置的最大内存,所以不会是内存不够需要淘汰。CPU百分百redis-server进程集群状态:slave解决办法:使用gdb将d.ht[0].used的值改为0问题原因:dictGetRandomKey()过程中,无法走到分支“if (dictSize(d) == 0) return NULL;”,导致函数dbRandom.........【阅读全文】
发布时间:2018-02-26 20:59:50
问题复现步骤:1) 输入字符串:{ "V":0.12345678}2) 字符串转成cJSON对象3) 调用cJSON_Print将cJSON对象再转成字符串4) 再将字符串转成cJSON对象5) 保留8位精度方式调用printf打印值,输出变成:0.123456问题的原因出在cJSON的print_number函数:static char *print_number(cJSON *item){&n.........【阅读全文】
发布时间:2017-12-18 17:40:01
目录目录11. 研究目的12. 基本概念13. crontab13.1. 编辑23.1.1. “crontab -e”工作流 23.2. 问题34. crond34.1. /etc/crontab3 1. 研究目的更好使用crontab,和解决crontab使用问题。本文分析的是Pau.........【阅读全文】
发布时间:2017-11-23 10:46:59
两种方式:1)直接在crontab中定义变量,如:A=123* * * * * echo $A > /tmp/a.txt注意在定义变量时不能使用$引用其它变量,如下面的做法错误:A=123B=$A2)在/etc/environment中定义变量此文件定义变量的格式为:NAME=VALUE,和crontab相关,也不能使用$引用其它变量。操作系统在登录时使用的第一个文件是/et.........【阅读全文】
发布时间:2017-08-29 09:59:18
版本:redis-3.2.9部署:5台64G内存的物理机,每台机器启动2个redis进程组成5主5备集群,每台机器1个主1个备,并且错开互备。问题:发现redis进程占用内存高达40G,而且全是备进程。尝试通过重启进程方式释放内存,但进入复制死循环,报如下所示错误:for lack of backlog (Slave request was: 51875158284)通.........【阅读全文】
发布时间:2017-08-29 09:58:50
版本:redis-3.2.9部署:5台64G内存的物理机,每台机器启动2个redis进程组成5主5备集群,每台机器1个主1个备,并且错开互备。问题:发现redis进程占用内存高达40G,而且全是备进程。尝试通过重启进程方式释放内存,但进入复制死循环,报如下所示错误:for lack of backlog (Slave request was: 51875158284)通.........【阅读全文】
发布时间:2017-08-28 19:49:49
crontab条目中包含%号,最常见的取时间,如:date +%d,对%需要使用\进行转义,否则不能按预期执行,正确做法为:* * * * * echo "`date +\%d`" > /tmp/r1r.txt而不能为* * * * * echo "`date +%d`" > /tmp/r1r.txt%是crontab的特殊字符,所有%后的被当作了标准输入,这可以通过“ man 5 crontab”查看到说明:The .........【阅读全文】
发布时间:2017-08-16 13:08:13
coredump的调用栈:#0 0xf76f5440 in __kernel_vsyscall ()#1 0xf73c4657 in raise () from /lib/libc.so.6#2 0xf73c5e93 in abort () from /lib/libc.so.6#3 0xf75fe78d in __gnu_cxx::__verbose_terminate_handler() () from /lib/libstdc++.so.6#4 0xf75fc263 in ?? () from /lib/li.........【阅读全文】
发布时间:2017-07-18 13:30:26
可以修改/etc/rc.d/boot.local让规则重启后也能生效,如:/sbin/iptables -F/sbin/iptables -A INPUT -i eth0 -p tcp --sport 80 -j ACCEPT/sbin/iptables -A INPUT -i eth0 -p tcp -j DROP/sbin/iptables -A INPUT -i eth0 -p udp -j DROPiptables是一个链的方式从前往后判断,如果前面的规则成立就不会往后继续,.........【阅读全文】
yuanxy20132014-01-14 14:48
LZ,你的基于C++的纯面向对象的通用高性能大并发TCP-SERVER/CLIENT开发框架实践系列之《前言篇》,《基础篇》写得非常棒,但是《服务器篇》、《客户端篇》却找不到,恳请楼主赐读。