numa 简单使用汇总
目前主流的物理服务(包括一些云厂商的高配 vm 机器)架构大多是 NUMA 架构, NUMA 在 CPU 和内存使用方面有很大的优势. 不过它的一些策略以及本地, 远端的访问模式可能造成一些意料之外的问题, 可以参考文章 percona-mysql-start-slowly 了解更多. 本文则对 numa 及使用做一些简单汇总. 系统参数控制 内核提供的 numa_balancing 参数可以控制系统的行为. 有个例外是进程如果指定了 numa 的 node...
slab dentry 缓存过多问题汇总
在早期的文章 Slab dentry 过高引起系统卡顿, 笔者分析了一个系统卡顿的案例. 本文则对 slab dentry 做一些延伸, 汇总一下 dentry 过多的问题. 为什么会有 dentry 参考文章 Dentry negativity, 在 linux 内核中, dentry 是一个目录项(directory entry)的内存表示形式, 可以将 dentry...
二进制文件及 rpm 打包二三事
近期通过 rpm 打包工具的时候注意到 rpm 文件大小比原始的二进制文件小很多. 大部分情况下这是因为工具包含 debug 符号表的原因, 不过在禁止 rpm 生成 debug package 后还会存在此类现象. 本文则主要记录 rpm strip 相关的几点事项. 当前工具结构 如下所示, 以 kvrocks 的工具 kvrocks2redis 为例,...
MySQL 备份引起的主从切换错误
mysqldump 备份说明 在备份 slave 的时候, 以下的 dump-slave 选项, 在执行备份 slave 的时候, 会触发 FLUSH TABLES 的执行: 严格来讲, 只要没有指定 master-data, 都会执行 FLUSH TABLES 语句 mysqldum --dump-slave=2 .........
earlyoom 工具使用说明
背景说明 在 Linux 服务器中, 程序可能因为 bug, 内存溢出等问题, 吃满系统剩余内存, 这种情况意味着开启以下系统参数不会有加速内存的回收, 因为没有可回收的内存: vm.vfs_cache_pressure = 400 vm.min_free_kbytes = 512000 如果吃满系统内存, 下一步则是系统根据 oom 评分机制抉择出哪些进程被 kill, 默认 kill 最高评分的进程. 这个过程中可能会经历一两分钟的时间,...
系统日志报警汇总
本文汇总了 Linux 系统 syslog 和物理机硬件日志相关的报警说明, 以便于系统问题的发现和诊断. syslog 日志 syslog 消息报警策略参考以下规则: ( (msg:xfs OR msg:hang OR msg:timeout OR msg:error OR msg:"Call Trace" OR msg:"hung_task_timeout_sec" OR msg:"waitingfor...
再探 audit 审计机制
在文章如何审计 Linux 系统的操作行为中, 我们详细介绍了审计系统行为的几种方式, 以及对应的优缺点. 但是在 audit 方面介绍还不够深入, 缺乏实践使用的一些准则. 本文则对 audit 机制以及相关工具做更多的延申介绍, 主要包含以下几点: auditd 工作机制 auditd 机制的延申 auditbeat 工作机制 wazuh 工作机制 Elkeid 工作机制 其它工具 packetbeat...
mysql 客户端访问崩溃排查
错误说明 近期在测试 shardingsphere-proxy 工具的时候, 接连碰到几例 mysql 客户端崩溃的情况, 各 mysql 客户端分布在不同主机, 以及不同版本上. 通过 gdb 直接跟踪可以看到如下错误所示: # 所有版本以 gdb 方式连接: gdb -ex run -ex bt --args mysql...
如何杀掉 close_wait 状态的连接
CLOSE_WAIT 连接状态说明 在 tcp 连接状态中, LISTEN, ESTABLISHED 和 TIME_WAIT 可能是最为常见的三类状态. 相比而言 CLOSE_WAIT 就比较少见, 大多数情况下 CLOSE_WAIT 状态持续的时间会很短, 如果持续时间很长, 就意味着程序处理可能出现了异常. 如下图所示: TCP A TCP B 1. ESTABLISHED...
systemd 方式启动 agent 踩坑记录
systemd 机制统一了不同 Linux 发行版的服务管理方式, 不过也引入了一些不可预知的问题. 本文则记录以 systemd 方式启动 agent(daemon 进程, 可执行系统命令, 采集数据等) 服务引入的一些问题. 重启 agent 服务时也重启服务的子进程 比如以下 systemd 服务: [Unit] Description=agent auto start [Service] Type=simple...