会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
coding my life
博客园
首页
新随笔
联系
订阅
管理
1
2
3
4
5
···
9
下一页
2023年4月12日
SIGPIPE导致程序无故中止
摘要: 最近在开发新项目,使用的是旧的代码,因此要进行一些代码的删减和优化。在win下开发时,一切正常,但在Linux下,发现其中一个模块在启动时会偶发性无缘无故中止,没有异常日志,没有core dump,内核那边也没有异常,进程直接就消失了。 我以为是系统环境变量没设置好,但使用命令ulimit -a查看
阅读全文
posted @ 2023-04-12 20:42 coding my life
阅读(101)
评论(0)
推荐(0)
编辑
2022年12月18日
Lua 5.3 hashint函数缺陷导致遍历table性能非常差
摘要: 最近发现线上有个服务器某些逻辑耗时比较久,问了下同事,他告诉我是因为lua的pairs函数很慢导致的。 “啊!不至于吧,这数据量才多少”我一脸诧异,记忆中Lua不至于慢到这种程度,遍历个几十万的table速度还是很快的,而我们线上的这个table数据量才几万。 他把线上的数据导了出来,做了一个测试,
阅读全文
posted @ 2022-12-18 21:29 coding my life
阅读(545)
评论(0)
推荐(0)
编辑
2022年5月6日
Socket缓冲区过小触发TCP Nagle's algorithm算法导致网络延迟大
摘要: 在游戏服务器当中,通常都会为每个客户端链接设置一个缓冲区。这样做的理由是游戏中通常会有持续不断,零碎的数据包发送到客户端,使用一个缓冲区可以把这些数据包攒到一起发送,避免频繁的io操作;另一个原因是,处理游戏逻辑的线程通常和io操作的线程是分开的,因此游戏逻辑线程把数据放到缓冲区后可以继续处理后续的
阅读全文
posted @ 2022-05-06 23:19 coding my life
阅读(535)
评论(0)
推荐(0)
编辑
2022年4月23日
C++ STL chrono和clock_gettime的性能对比
摘要: #include <iostream> #include <chrono> #include <ctime> int main() { const int ts = 1000000; std::chrono::steady_clock::time_point beg; std::chrono::st
阅读全文
posted @ 2022-04-23 16:09 coding my life
阅读(1841)
评论(0)
推荐(0)
编辑
2022年4月16日
Program terminated with signal 4, Illegal instruction
摘要: 一个已进入维护状态多年的项目最近我做了一些优化,没想到更新出去后程序直接起不来了,core dump的文件显示程序因为Program terminated with signal 4, Illegal instruction.直接挂掉。第一次看到这个错误的我有点懵,从字面上理解“Illegal in
阅读全文
posted @ 2022-04-16 16:29 coding my life
阅读(1590)
评论(0)
推荐(0)
编辑
2022年4月1日
Linux LVM分区扩容
摘要: 我经常用虚拟机装各种版本的Linux系统来跑程序,一般硬盘分得比较小。比如CentOS 6就只分了16G,跑的是服务端的程序,不用安装界面,整个系统也就占3G不到,一般也够用。直到某一天,我需要把一个20G的sql脚本导入到数据库里。这才发觉自己从来没做过Linux的硬盘扩容,一番鼓捣之后,做个笔记
阅读全文
posted @ 2022-04-01 22:04 coding my life
阅读(2341)
评论(0)
推荐(0)
编辑
2022年3月20日
C++使用mutable在const成员函数中加锁
摘要: 业务逻辑写多了,有些基础的东西就忘了,写在这里仅仅是做个笔记。 最近要把自己的程序改成多线程,其中有一个缓冲区类,大概是这样的: class Buffer { public: /** * 获取当前缓冲区中已分配的chunk数量及总内存,用于统计 */ void get_mem_info(int& c
阅读全文
posted @ 2022-03-20 17:39 coding my life
阅读(835)
评论(1)
推荐(1)
编辑
2022年3月16日
解决CentOS 6.10安装VirtualBox增强插件报redefinition of set_nlink错误
摘要: CentOS 6早已退休,没人维护了,但最近需要测试一个很老的服务器程序,要跑在CentOS 6上,那就在VirtualBox虚拟机上装一个吧。由于测试环境是不能上网的,因此我特意下载了一个CentOS-6.10-x86_64-bin-DVD1.iso镜像,这样不仅安装系统不需要连网,安装一些基本的
阅读全文
posted @ 2022-03-16 00:46 coding my life
阅读(811)
评论(0)
推荐(0)
编辑
2022年1月8日
C++中atomic和mutex的对比
摘要: 最近在优化自己以前写的一个程序,其中io部分由单线程的Reactor模型改成多线程的Proactor模型。即原来是异步io事件唤醒线程,进行io读写,现在是一个线程进行异步io读写,然后把数据交给另一个线程进行逻辑处理。那这就涉及到一个线程数据交换的问题,由于是io数据,这个需要交换的数据还比较大,
阅读全文
posted @ 2022-01-08 18:09 coding my life
阅读(1239)
评论(0)
推荐(1)
编辑
2021年11月13日
win下添加Notepad3右键菜单
摘要: 自己经常用Notepad3编辑器,每次重装系统后总得查一番资料,这里记录一下 Notepad3下载地址 https://github.com/rizonesoft/Notepad3/releases 或者 https://www.rizonesoft.com/downloads/notepad3/
阅读全文
posted @ 2021-11-13 20:22 coding my life
阅读(818)
评论(0)
推荐(0)
编辑
1
2
3
4
5
···
9
下一页