1 基本概念

1.1 虚拟内存空间管理示意图(重点理解)
1.2 虚拟内存(重点理解)
1.3 SWAP
1.4 页表(重点理解)
1.5 Translation Lookaside Buffer (TLB)与缺页中断(初学了解即可)
1.6 进程的内存结构
1.6.1 共享内存(重点理解)
1.6.2 程序段与lib(初学了解即可)
1.6.3 内存碎片(初学了解即可)
1.6.4 Slab内存(初学了解即可)
1....

Continue reading>>

1. 简介

Address Sanitizer(ASan)是一个快速的内存错误检测工具。它非常快,只拖慢程序两倍左右(比起Valgrind快多了)。它包括一个编译器instrumentation模块和一个提供malloc()/free()替代项的运行时库。

从gcc 4.8开始,AddressSanitizer成为gcc的一部分。当然,要获得更好的体验,最好使用4.9及以上版本,因为gcc 4.8的A...

Continue reading>>

线上有服务器每隔差不多15分钟io.util就会飙升一下,使用率>40%,RD反馈影响线上服务一直没找到原因。服务器操作系统为centos6.7版本,配置挺高,用iotop抓出飙升时执行的程序是jbd2。它是负责写脏页,机器上log-agent刷日志脏页比较多的话jbd2会来处理,影响应该不大,查看机器已经启动快4年没重启了,重启了一下机器,释放下脏页问题解决,彻底解决要更改磁盘的写入方式。...

Continue reading>>

fish.jpg

GDB是GNU发布的一款功能强大的程序调试工具。GDB主要完成下面三个方面的功能:

1、启动被调试程序。

2、让被调试的程序在指定的位置停住。

3、当程序被停住时,可以检查程序状态(如变量值)。

语法

gdb(选项)(参数)

选项

-cd:设置工作目录;
-q:安静模式,不打印介绍信息和版本信息;
-d:添加文件查找路径;
-x:从指定文件中执行GDB指令;
-s:设置读取的符号表文件。

常用命令

  • list(l)&nbsp...

Continue reading>>

SLA简介

服务级别协议(英语:service-level agreement,缩写SLA)也称服务等级协议服务水平协议,是服务提供商与客户之间定义的正式承诺。服务提供商与受服务用户之间具体达成了承诺的服务指标——质量、可用性,责任。SLA最常见的组成部分是以合同约定向客户提供的服务。例如,互联网服务供应商(ISP)和电信公司通常在与客户的合同条款内包含简单定义的服务级别协议。在此事例下,SLA通...

Continue reading>>