- 博客(7)
- 收藏
- 关注
原创 Go 程序释放不用的内存
Go 程序内存通过 pprof 发现,一个 Go 进程实际 in use 内存只占用几百兆,实际物理内存占用了 4、5G原因很清晰,进程的内存分配器,没有把空闲内存还回系统挤兑内存可以通过挤兑内存的方式,触发进程归还内存#include <stdio.h>#include <string.h>#include <unistd.h>#include <cstdlib>int main() { char *p = NULL; c
2021-09-30 15:03:34 3241
原创 git-p4 多个分支与版本合并 merge
git-p4git-p4 基本操作,见 https://blog.csdn.net/u013272009/article/details/120166796多个分支假设已经用 p4 sync 同步了 2 个 p4 分支:clientclient typep4 远程地址本地目录tl_fananchong_vm1stream client//Torchlight/MainLineWithUGS/backend//home/fananchong/MainLineWithUGS
2021-09-25 18:29:30 917
原创 fsnotify 与 too many open files
fsnotifyfsnotify 是用来监听文件、目录变化的一个 golang 开源库在 Linux 系统使用中,遇到了too many open files问题首次尝试通常,有 2 处配置太小,会触发too many open files错误:/etc/sysctl.conf文件中的fs.file-max/etc/security/limits.conf文件中的hard nofile与hard nofile因此,更改了相关值:[root@qa5 ~]# ulimit -a | grep
2021-09-22 21:55:33 2231
原创 思考(八十四):再论排行榜服务(二)
最终一致性问题在本系列 思考(八十四):再论排行榜服务 中提到,使用分段同步排名的方法,达到排行榜的最终一致性从程序角度,是合理的。但是具体业务,如榜单结算、玩家查看排行榜,会遇到一个问题:榜上的数据可能有出入因为分段同步的是rank db最终排名,这个排名时刻在变化,会导致 rank 服务中的缓存排名出现出入因此需要引入,排行榜快照概念排行榜快照从使用者角度,不能容忍的是排名数据有出入。而提前告知,排名数据会延迟 xx 秒(分、小时)更新,反而能得到使用者的理解、认同因此最终一致性要同
2021-09-11 13:09:48 352
原创 git-p4 使用说明
git-p4通过git-p4使用git的方式操作p4仓库官方文档: https://git-scm.com/docs/git-p4安装p4环境搭建p4客户端安装见官网文档 https://www.perforce.com/downloads/helix-command-line-client-p4,略p4配置大致如下:设置环境变量(linux 举例)export P4CLIENT=tl_username_vm1export P4PASSWD=passwordexport P4PORT
2021-09-07 20:42:02 1684
原创 思考(八十四):再论排行榜服务
排行榜服务本系列,前面文章讨论过排行榜服务,现在看来,太复杂了最近需要,重新思考设计了下,欢迎讨论架构+----------------+| http query api +-------------------++----------------+ | | v+----------------+
2021-09-03 15:37:51 361
原创 grpc c++ 异步双向流与`pure virtual method called`
grpc c++grpc c++ 版本用的人相对少些实际使用下,确实给 c++ 网络编程带来便利不少读者对 grpc c++ 缺乏深入了解,以为这是一个同步的库,效率会很低且官方也没有提供非常易懂的完全高效异步的例子,导致给使用者造成困惑与误解笔者在编写异步双向流的 grpc 服务器中,从官方例子与 issue 中,终于写出了完美健壮的例子特记一二主要问题编写异步双向流服务器,会遇到以下问题:官方只提供了一元异步的例子官方部分例子过于草率,应答处理直接开线程,可能会吓走大批用户客户端
2021-09-01 23:09:10 1041
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人