首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/579614

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

一个内存增长问题的分析和处理(三)

和框架部门的同事一起,经过valgrind大量的测试和验证,并没有发现有确切的内存泄露的代码段。对于C和C++程序,出现内存增长,可能我们很自然的就去内存泄露方面去思考,有时候,这种方向可能不一定对。 在解决这个问题的过程中,生成上又出现了另外一个内存增长的问题。这次的现象很明显,就是一个进程,能清晰的看到内存在不断的增长,进程停止后,内存就直接释放,下次还是会缓慢增长。大家的思路就是检查下代码,看看有没有内存泄露,由于程序中没有使用new 和 malloc的地方,所以不存在直接的内存操作。这样就比较难定位内存泄露,并且valgrind的信息,也看不出来有内存泄露。后来经过分析可能是程序是通过while(true)的写法来对数据进行循环扫描处理的,而在这个中间,会把对内存数据库的操作信息,存放在Session中,由于没有调用清理session的接口,所以session中的数据结构越来越大,所以才导致内存不断的增长。后来修改了代码,调用了清理Session的接口后,内存恢复正常。 有了这个问题的思路,我又回过头来看之前遇到的这个问题: 1、这个问题出现的情况,是数...

Linux下服务器端开发流程及相关工具介绍(C++)

去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路线图,帮助新人尽快上手。 本文介绍的我所在小组的一些开发流程及相关工具。做为新人入门手册,其中某些工具可能只有我们这边在用,但对于其他公司的新人来说,一样是具有指导意义的。 2015.4.11 更新: 增加构建工具 Bazel, CMake介绍 增加Linux下任务管理相关命令 增加正则表达式调试的网址 简单介绍一下我们组的开发背景:我们的业务对外是一个http的服务,开发主要是服务器端开发。编程语言:基本以C++/Java为主,有少量的perl, shell的脚本程序发布,部署方式:通过ABS来打出rpm包,放到公司内部yum源,然后通过金字塔来进行自动化发布的 熟悉Linux操作 任务管理 有时候你在命令行里执行拷贝大文件的命令,这个命令很耗时,会独占终端,此时可以先使用Ctrl+z命令让当前任务(job)挂起,此时可以输入命令了,然后使用bg命令让当前挂起的任务去后台(backgro...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册