Perf与火焰图
一、PerfPerf 是基于Linux 2.6+系统的一款性能分析工具。它可以用来分析应用程序和内核的性能问题,从而全面理解应用程序中的性能瓶颈。 [root@bugwz ~]# perf --help usage: perf [--version] [--help] [OPTIONS] COMMAND [ARGS] The most commonly used perf commands are ...

漏桶与令牌桶速率限制算法
一、漏桶算法漏桶算法(Leaky Bucket)是网络世界中流量整形(Traffic Shaping)或速率限制(Rate Limiting)时经常使用的一种算法,它的主要目的是控制数据注入到网络的速率,平滑网络上的突发流量。漏桶算法提供了一种机制,通过它,突发流量可以被整形以便为网络提供一个稳定的流量。示意图如下所示: 1.1、算法过程 数据包入队列:数据包按照一定的顺序存储入用于临时存储的缓 ...

Redis的Memory命令讲解
一、简述Memory指令是Redis4.0版本更新的特性,可用于详细的分析内存的使用情况,内存使用诊断,内存碎片回收等工作; 可以通过memory help指令打印出memory指令的信息,详细信息如下所示: 1) MEMORY <subcommand> arg arg ... arg. Subcommands are:2) DOCTOR - Return memory problem ...

TCL语言入门
一、简述Tcl是一种很通用的脚本语言,它几乎在所有的平台上都可以释运行,一条TCL的命令串包含若干条命令,命令使用换行符或分号来隔开;而每一条命令包含若干个域(field),域使用空白(空格或TAB)来隔开——第一个域是命令的名字,其它的域是该命令的参数。 二、基本语法2.1、注释注释在调试的过程中轻常碰到。TCL语言的注释符号是 # ,加在每一行的最前面。 2.2、脚本、命令、单词一个TCL 脚 ...

localtime函数死锁分析
一、简介前段时间,线上的redis实例出现了一些异常的情况,具体变现就是bgsave子进程hang住了,从而引发了后续的很多问题,通过排查最终发现是localtime相关函数引起的,这里做一下总结记录。 C 库函数 *struct tm *localtime(const time_t timer) 作用是根据本地时区信息将 time 函数获取的 UTC 时间调整为为本地时间,并将具体的时间信息填充 ...

Clang-Format格式化工具
Clang-Format 是基于 clang 的一个命令行工具,这个工具能够自动化格式 C/C++/Obj-C 代码,支持多种代码风格(Google, Chromium, LLVM, Mozilla, WebKit),同时也支持自定义风格(通过编写.clang-format文件),这里记录了常用的配置 Clang-Format 常用的配置项及其含义。 一、安装方式# macbr ...

hashlimit-Iptables笔记
一、简介hashlimit是iptables的一个匹配模块,用它结合iptables的其它命令可以实现限速的功能。注意:单独hashlimit模块是无法进行限速的; 二、原理介绍实际上,使用 hashlimit 进行限速主要包括两个步骤: 对符合 hashlimit 匹配规则包放行 丢弃/拒绝未放行的包 2.1 令牌桶模型hashlimit 的匹配方式是基于令牌桶(Token buc ...

Linux内核软件框架-Netfilter概述
一、简述Netfilter是Linux内核中的一个软件框架,用于管理网络数据包。不仅具有网络地址转换(NAT)的功能,也具备数据包内容修改、以及数据包过滤等防火墙功能。利用运作于用户空间的应用软件,如iptables等,来控制Netfilter,系统管理者可以管理通过Linux操作系统的各种网络数据包。1990年代,Netfilter在Linux 2.3.15版时进入Linux内核,正式应用于Li ...

PrettyTable-Python使用笔记
一、简述PrettyTable是一个简单的Python库,旨在快速,轻松地在视觉上吸引人的ASCII表中表示表格数据。 它的灵感来自PostgreSQL shell psql中使用的ASCII表。 PrettyTable允许选择要打印的列,列的独立对齐(左对齐或右对齐或居中)以及通过指定行范围打印“子表”。GitHub 二、安装与使用# 安装:使用pip可以方便的安装PrettyTablepip ...

Linux下的Cache/Buffer
经常在使用 Linux 的时候会发现有一些内存经常被 Cache 和 Buffer 占用,而关于这两者之间的关系与区别却不了解,这篇文章主要就是介绍一下两者的区别与相关的运维手段。 一、含义 Cache(缓存):指 CPU 和内存之间高速缓存,为了调高CPU和内存之间数据交换而设计,用来给文件做缓存(相关的是PageCache),主要是针对读操作设计的; Buffer(缓冲):指在写入磁盘前的存 ...