bug狩猎
最近需求少了,终于有时间修一下底层的bug,做一点工具方便查bug,写篇文章简单记录一下。
一是优化了一个玩法进程的启动速度。这个玩法需要用战力做匹配,玩家按战力分段放进不同的桶里,每个桶用skiplist组织。启动服务器的时候,会遍历所有玩家,放进对应的桶里,方便正式开放的时候进行搜索匹配。之前是遍历策划配置的战力分段表,高端玩家几乎要遍历完整个表才能进到桶里。现在改成了二分查找,匹配速度提高了好多
二是隔壁组做mmo的同事,问了下有没有现成的查内存泄漏的工具。他们加班的比较凶,周六晚加完后,周一发现服务器被OOM Killer杀掉了。。。于是整合了一下云风的lua-snapshot,做到skynet里面,提了个PR。原理比较简单,第一次调用snapshot的时候,对VM的内存对象做一次镜像。做了某个可疑操作后,再调一次snapshot,前后镜像做比对。我对比较出来的对象按层次组织了一下,方便日志里打印。
三是修复了gosproto的pack函数。这个bug相当诡异,会打出来一个客户端无法解包的sproto包。详情见github上的PR,顺便读了下sproto的pack的文档,0xFF后面接的N是拷贝(N+1)*8 bytes的意思,之前理解错了。。 unpack应该还有问题,还在看。。。
bug狩猎的更多相关文章
- NetHogs下载和监控
转自:http://blog.csdn.net/testcs_dn/article/details/40506225 CentOS6.5下使用NetHogs监控进程网络使用情况 分类: CentOS2 ...
- CentOS6.5下使用NetHogs监控进程网络使用情况
Nethogs 是一个终端下的网络流量监控工具,它的特别之处在于能够显示每一个进程的带宽占用情况,这样能够更直观获取网络使用情况.它支持 IPv4 和 IPv6 协议.支持本地网卡及 PPP 链接. ...
- 使用NetHogs监控进程网络使用情况
Nethogs 是一个终端下的网络流量监控工具,它的特别之处在于可以显示每个进程的带宽占用情况,这样可以更直观获取网络使用情况.它支持 IPv4 和 IPv6 协议.支持本地网卡及 PPP 链接. 使 ...
- centos linux系统日常管理3 服务管理ntsysv,chkconfig,系统日志rsyslog,last ,lastb ,exec,xargs,dmesg,screen,nohup,curl,ping ,telnet,traceroute ,dig ,nc,nmap,host,nethogs 第十六节课
centos linux系统日常管理3 服务管理ntsysv,chkconfig,系统日志rsyslog,last ,lastb ,exec,xargs,dmesg,screen,nohup,cur ...
- ref:一系列用于Fuzzing学习的资源汇总
ref:http://www.freebuf.com/articles/rookie/169413.html 一系列用于Fuzzing学习的资源汇总 secist2018-04-30共185833人围 ...
- Linux服务器大量向外发包问题排查
最近Linux redhat 6.5 APP 业务系统,向外大量发送流量,不断建立tcp连接,目标地址是美国的一个IP,估计被当成肉鸡了,比较悲惨,直接飞向IDC机房,防火墙显示这个APP服务器tcp ...
- NetHogs监控Linux的每个进程流量
在日常运维环境中,我们肯定会遇到以下这种需求: 1.网络流量异常,不知道是哪个程序的流量爆涨? 2.日常需要监控网络实时的流量进去数据 面试装逼系列|这篇文章,让运维监控不再成为你的短板! 学会这 1 ...
- Tomcat一个BUG造成CLOSE_WAIT
之前应该提过,我们线上架构整体重新架设了,应用层面使用的是Spring Boot,前段日子因为一些第三方的原因,略有些匆忙的提前开始线上的内测了.然后运维发现了个问题,服务器的HTTPS端口有大量的C ...
- a标签点击跳转失效--IE6、7的奇葩bug
一般运用a标签包含img去实现点击图片跳转的功能,这是前端经常要用到的东西. 今天遇到个神奇的bug:如果在img上再包裹一层div,而且div设置了width和height,则图片区域点击时,无任何 ...
随机推荐
- vue2.0自学笔记
前言: 一.优点: 轻量级.高效率.上手快.简单易学.文档全面而简洁 二.功能: 1.模板渲染 2.模块化 3.扩展功能:路由.Ajax 三.课程包含: 1.Vue实例 2.Vue组件 3.Vue指令 ...
- 微信公众号手机无法直接下载APK文件是怎么回事
现在微信分享的功能很多,从分享的链接下载apk安卓包是很正常的,但是微信不让下载apk包,只能通过浏览器来下载,但是这要给用户一个提示吧,不然用户不知道 下面我们来实现,引导用户通过浏览器来下载apk ...
- Python的魔术方法总结
魔术方法:再不需要程序员定义,本身就存在类中的方法就是魔术方法. 魔术方法通常都长这样:__名字__. 1.__str__和__repr__ 为了方便记忆看如下列子 class Course: def ...
- 笨办法39字典dict
一开始没看明白,直接把句子缩短了,输出结果看字典的用法 stuff = {'name': 'Zed', 'age': 39, 'height': 6 * 12 + 2} stuff['city'] = ...
- Python类之类的成员
对于一个学C++的朋友来说,Python类中,哪些是私有成员,哪些是共有成员,估计一直傻傻分不清. 一.本篇博客要解决的问题: Python类中,哪些是私有成员?哪些是共有成员? 二. 关于Pytho ...
- Linux快捷键总结
使用Linux很久了,现对经常用到的快捷键做一个总结: 最重要的一个当然是tab了 [root@localhost ~]# cd /etc/sys sysconfig/ sysctl.conf sys ...
- spring整合redis(哨兵模式)
首先服务器搭建哨兵模式(我这里使用的是Windows8系统),感谢两位博主,少走不少弯路,在此给出链接:服务器哨兵模式搭建和整合哨兵模式 什么一些介绍就不介绍了,可以看一下连接,比较详细,初次接触,当 ...
- Selenium 工作原理
Selenium是ThoughtWorks公司研发的一个强大的基于浏览器的开源自动化测试工具,它通常用来编写web应用的自动化测试.早期也即Selenium1.x时期主要使用Selenium RC(S ...
- centos 远程授权
centos 远程授权命令 ssh-copy-id root@192.168.15.70
- 用几句话说一说CMake add_dependencies & target_link_libraries的使用区别
简单说一说前两天学习使用CMake解决链接问题时遇到的一个问题. 对于编译时遇到的依赖问题,很多时候我们只需要一句target_link_libraries就可以搞定. 但是CMake还有另外一个co ...