TokuDB 内存占用过高问题处理

问题说明 近期参考了 xelabs-tokudb-wiki 将 TokuDB 引擎和 jemalloc 内置到 MySQL 中, 在实际的使用中发现 MySQL 的实例占用的内存特别高, 如下所示的配置: Centos 7 - 3.10.0-862.14.4.el7.x86_64 percona-server-5.6.45-86.1 my.cnf 配置: innodb_buffer_size = 16G tokudb_cache_size...

Linux 系统内核崩溃分析处理简介

背景说明 目前绝大多数的 Linux 发行版都会将 kdump.service 服务默认开启, 以方便在内核崩溃的时候, 可以通过 kdump 服务提供的 kexec 机制快速的启用保留在内存中的第二个内核来收集并转储内核崩溃的日志信息(vmcore 等文件), 这种机制需要服务器硬件特性的支持, 不过现今常用的服务器系列均已支持. 如果没有特别设置, 系统都采用默认的 kdump 服务配置, 崩溃的日志文件默认以 disk 方式保存在本地的磁盘目录, Centos/Redhat 系列的系统主要保存在以下目录: /var/crash/...

Linux kernel panic at stack is corrupted

问题说明 一台机器异常重启后, 从 vmcore 文件的分析来看, 内核的崩溃是由于触发了 gcc 的 -fstack-protector 特性, 如下所示, stack-protector 即意味着内核函数存在栈溢出的问题: crash> sys KERNEL: /usr/lib/debug/lib/modules/3.10.0-862.14.2.el7.x86_64/vmlinux DUMPFILE: vmcore [PARTIAL DUMP] CPUS: 40 DATE: Thu...

Linux 系统动态追踪技术介绍

目录 动态追踪历史 追踪机制说明 常用追踪工具 线上实践指南 总结 参考 动态追踪历史 严格来讲 Linux 中的动态追踪技术其实是一种高级的调试技术, 可以在内核态和用户态进行深入的分析, 方便开发者或系统管理者便捷快速的定位和处理问题. Linux 在过去十多年的发展中, 演化了很多追踪技术, 不过一直没有一款可以媲美 Solaris/FreeBSD 系统中的 DTrace 追踪工具, 直到 Linux 4.1+ 版本...

使用 sys-toolkit 收集 Linux 系统的诊断信息

在早期的一系列文章中, 我们提到了很多关于 percona-toolkit 工具的使用说明, 其中最常用的 pt-stalk, pt-summary 等工具为 MySQL 的故障诊断和系统信息收集带来了很大的帮助. 不过其中的很多工具(比如 pt-stalk, pt-sift 等) 都和 MySQL 强关联, 实际上并不适用于通用的 Linux 系统. 鉴于此原因, 我们将常用的三个工具(pt-stalk, pt-sift, pt-summary) 修改为通用的系统搜集工具,...

tokudb 表信息 data_free 引起 psam 崩溃问题处理

问题说明 在之前的文章 使用 percona-server-auto-manager(psam 缩写) 管理数据库 中, 我们提到了可以通过 psam 工具来管理线上的 MySQL 操作, 其中的 sql 记录 和 sql 过滤 等特性非常适合在安全审计方面存在需求的管理员. 不过最近在使用该工具管理 TokuDB 表的时候出现了如下段错误: partition_truncate.sh: line 38:...

radon 工具使用及问题汇总

radon 工具作为 MySQL 的中间件对外提供服务, 其以 jump consistent hash 算法实现了扩展 MySQL 读写的目的. 业务所常用的 sql 语法都做了相应的支持, 比如 DDL, SHOW, Full Text Search, JOIN 以及聚合排序等, 详细 sql 支持见...

Linux kernel panic at run_posix_cpu_timers+0xa4

最近一台主机突然内核崩溃后, 系统通过 kdump 服务捕获了 vmcore 等文件信息, 如下所示从堆栈的信息来看, 系统在进行 xfs 相关操作的时候进行了计时器中断(apic_timer_interrupt), 中断程序在更新进程的使用时间(update_process_times)的过程中, 出现了空指针(RIP: run_posix_cpu_timers+164)而造成内核崩溃: crash> sys KERNEL: /usr/lib/debug/lib/modules/3.10.0-327.18.2.el7.x86_64/vmlinux DUMPFILE: vmcore [PARTIAL DUMP] CPUS: 40 NODENAME: czhost...

Linux kernel panic at down_read_trylock+9

最近一台主机突然内核崩溃, 系统通过 kdump 服务获取了崩溃时的 vmcore 文件. 我们在系统中安装相同内核版本对应的 kernel-debuginfo, kernel-debuginfo-common 包, 使用 crash 查看 vmcore 信息, 如下可以看到主机在 2019-07-15 05:52:53 开始崩溃, log 命令可以查看到崩溃的原因, 如下所示出现了空指针错误 BUG: unable to...

linux 系统 tcp_mark_head_lost 错误处理

问题说明 近期一台主机报以下 kernel 信息: Jul 8 10:47:42 cztest kernel: ------------[ cut here ]------------ Jul 8 10:47:42 cztest kernel: WARNING: at net/ipv4/tcp_input.c:2269 tcp_mark_head_lost+0x113/0x290() Jul 8 10:47:42...