![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术总结
天蓝控
这个作者很懒,什么都没留下…
展开
-
C++程序coredump排查经验
少用exception,避免内存不合预期的释放导致内存写入问题内存问题排查:考虑空间提前释放原创 2020-07-22 21:53:37 · 640 阅读 · 0 评论 -
从一次python程序的性能优化说开去
一门编程语言入门是容易的,至少大家都知道从hello world开始。但这次性能优化的经历告诉我,“换语言”这件事是有门槛的。这次性能优化是针对数据入库流程中的一个环节(brief)做的。我们常说解决问题重要,发现问题更重要。没错,这次发现问题就占用了我较长时间。brief部署在X平台上,通过增加日志,我发现brief耗时较长的部分发生在平台内部,接下来主要工作就是找X平台的负责同学沟通了...原创 2018-03-03 23:32:20 · 241 阅读 · 0 评论 -
valgrind排查内存泄漏步骤
使用valgrind排查内存泄漏,重点关注leak summary的definite lost数据原创 2017-11-14 20:19:52 · 1219 阅读 · 0 评论 -
glibc内存管理
我们调用free函数释放之前分配的内存,其实是将内存还给glibc,但是glibc却并不一定会将内存还给操作系统,导致使用top命令查看进程占用的内存时,出现类似内存泄漏的现象。关于glibc的内存管理,待进一步完善原创 2017-11-23 11:42:37 · 246 阅读 · 0 评论 -
tcmalloc为什么快,如何替换系统malloc
使用了thread cache,小块的内存分配都可以从cache中分配。多线程分配内存的情况下,可以减少锁竞争。tcmalloc官方文档见: https://gperftools.github.io/gperftools/tcmalloc.htmltcmalloc可以替换大多数系统、不同编译器环境下的内存分配函数(malloc/free/new/delete),针对不同的编译器和操作系统,替换的方原创 2017-11-23 16:02:25 · 8724 阅读 · 0 评论 -
UML中的类图关系——依赖
依赖往往体现在一个类的方法中使用另一个类实例的局部变量原创 2017-11-29 11:38:43 · 301 阅读 · 0 评论 -
hadoop MR任务优化总结
最近在做数据灌库工作,数据量较大不能基于单机进行灌库,需要编写MR任务。由于做MR开发经验不足,几经优化才满足灌库性能要求,这里总结一下。如非必要,请规避reduce任务reduce任务涉及跨计算节点拉取数据,shuffle及数据排序,而这些过程都是很耗资源的。 对于灌库任务来说,我们没有必要对数据做排序,完全不要reduce任务,不要画蛇添足地去将reduce设置为cat,看上去cat只是作了数原创 2017-08-25 16:17:16 · 2611 阅读 · 0 评论 -
linux中的软链(symbolic link)
当前虚拟化技术盛行,不可避免要使用软链,之前使用公司的PaaS平台,也遇到了软链相关的问题应用场景在实例上运行shell脚本,shell进一步调用python脚本通常我的做法是: 1)将python环境打包上线,目录结构如下: /home/work ./script ./python2.7.tar.gz 2) 固定写死shell脚本目录和python环境的期望目录结原创 2017-07-06 17:52:22 · 976 阅读 · 0 评论 -
基于redis实现的分布式锁
先从字面理解,分布式锁(Distributed Lock)就是分布式部署的锁。那么什么是锁呢?这个大家应该比较熟悉了,和我们经常遇到的“在多线程写同一个变量时需要加锁”、“多个客户端在更新数据库同一条记录时需要加锁”等等这些场景中提到的“锁”是一样的,是一种同步方式。原创 2017-07-18 21:59:34 · 267 阅读 · 1 评论 -
ActiveMQ LevelDB/Zookeeper bug
ActiveMQ问题排查问题出现前使用activemq 5.11.1,排查问题中改用5.13.3:背景排查经过结果解决方案总结背景公司内使用ActiveMQ(以下简称“MQ”)作为消息中间件进行模块间的消息传递。特别地,我使用MQ作为实时检索系统增量接收的消息中间件。MQ按Replicated LevelDB Store + zookeeper master/slave方式部署。一开始上原创 2017-01-23 17:37:07 · 1164 阅读 · 0 评论