Author Archives: arstercz

linux 系统 tcp_mark_head_lost 错误处理

By | 2019-07-10

问题说明 近期一台主机报以下 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 cztest kernel: Modules linked in: iptable_filter ip_tables binfmt_misc cdc_ether usbnet mii xt_multiport dm_mirror dm_region_hash dm_log dm_mod intel_powerclamp coretemp intel_rapl iosf_mbi kvm_intel kvm irqbypass crc32_p clmul ghash_clmulni_intel aesni_intel lrw gf128mul glue_helper… Read More »

有效收集 MySQL 的死锁信息

By | 2019-06-18

简单介绍 收集 MySQL 的死锁信息有什么好处? 可见的包含以下好处: 1. 死锁发生的频率; 2. 哪些库的哪些表发生死锁; 3. 事务执行了多久, 哪个事务被回退; 4. 方便排错, 可以和程序的日志相对应; MySQL 提供了两种方式可以用来查看死锁信息, 这两种方式受 innodb_print_all_deadlocks 参数的影响, 如果开启死锁信息会记录到 MySQL 的 error 日志中, 如果关闭可以使用 SHOW ENGINE INNODB STATUS 语句来查看死锁信息, 第一种方式适合全量收集, 第二种方式适合增量收集, 其中最新的死锁信息会覆盖掉以前的信息. 实际上这两种方式都不利于死锁信息的统一搜集, 都需要管理员做额外的汇总操作. 我们提供了 mysql-deadlock-check 工具, 以第二种方式统一收集死锁信息进行汇总, 更多信息参考 pt-deadlock-logger. 工具说明 mysql-deadlock-check 主要用来收集线上 MySQL 实例的死锁信息, 实例存在死锁信息则对其收集, 解析并入库以便于以后的统计分析. 如下所示: +—–+ | DB1 | ———-+… Read More »

google cloud platform(GCP) 使用问题汇总

By | 2019-06-03

使用了 GCP 服务一段时间后, 碰到了一些问题, 本文仅对这些问题进行简单的汇总说明, 下述的问题均以 Centos7 系统为准, 部分问题适用于所有 Linux 系统, 本文也会持续更新碰到的问题: 1. yum-cron 自动更新问题 2. 实例创建 ip 及系统分区丢失问题 3. console 登录问题 4. 公钥覆盖问题 5. gmail 用户创建问题 6. google 服务问题 7. 磁盘修改问题 详细说明 1. yum-cron 自动更新问题 默认安装了 yum-cron 会每小时自动更新 yum 包, 最好禁止以免更新 kernel, systemd 等软件. 可以使用如下两种方式之一处理: 1) 修改配置: # /etc/yum/yum-cron.conf update_messages = no download_updates =… Read More »

mysql-connector-java 插入 utf8mb4 字符失败问题处理分析

By | 2019-05-17

问题说明 业务数据库实例的编码由 utf8 修改为 utf8mb4 后, java 业务插入表情符等宽字符(4 字节)的时候一直报错以下相关的错误: ### Cause:java.sql.SQLException:Incorrect string value:\xF0\x9F\x98\x8E for column nick_name at row 1 ;uncategorized SQLException for SQL[]; SQL state [HY000]; error code[1366];Incorrect string value: \xF0\x9F\x98\x8E for column nick_name at row 1 程序及数据库运行的版本及环境如下所示: Centos 7.6 kernel-3.10.0-957.1.3.el7.x86_64 mysql-connector-java-5.1.46 Percona-Server-5.6.38-rel83.0-Linux 测试环境中使用同样的 mysql-connector-java 版本, 程序可以正常插入. 所不同的是测试环境修改完编码后重启了 MySQL 服务, 线上环境仅做以下修改, 重启程序而不重启 MySQL 服务: set… Read More »

linux 系统 bad pmd 错误处理

By | 2019-05-08

问题说明 近期一台主机报以下 kernel 警告信息: May 4 22:19:52 cztest kernel: mm/memory.c:413: bad pmd ffff9f1b3127e710(80000010ba8008e7) May 4 22:19:52 cztest telegraf: fatal error: s.freeindex > s.nelems May 4 22:19:52 cztest telegraf: goroutine 33796712 [running]: …… May 4 22:19:52 cztest kernel: ————[ cut here ]———— May 4 22:19:52 cztest kernel: WARNING: CPU: 16 PID: 1646 at mm/mmap.c:3042 exit_mmap+0x196/0x1a0 May… Read More »

linux 系统 page allocation failure 问题处理

By | 2019-04-28

问题说明 近期一台主机报以下 kernel 警告信息: Apr 28 05:30:51 cztest kernel: swapper/13: page allocation failure: order:5, mode:0x4020 Apr 28 05:30:51 cztest kernel: Pid: 0, comm: swapper/13 Not tainted 3.4.24-x86_64 #3 Apr 28 05:30:51 cztest kernel: Call Trace: Apr 28 05:30:51 cztest kernel: <IRQ> [<ffffffff8109b77b>] warn_alloc_failed+0xeb/0x130 Apr 28 05:30:51 cztest kernel: [<ffffffff8105611e>] ? __wake_up+0x4e/0x70 Apr 28 05:30:51 cztest… Read More »

linux 系统 rcu_bh self-detected stall 问题处理

By | 2019-04-26

问题说明 近期几台 linux 机器都报了以下 kernel 提示: Apr 24 21:02:09 cztest kernel: INFO: rcu_bh self-detected stall on CPU { 0} (t=0 jiffies) Apr 24 21:02:09 cztest kernel: Pid: 0, comm: swapper/0 Not tainted 3.4.95.R620.CentOS6.5-x86_64.OpenBeta.KVM #1 Apr 24 21:02:09 cztest kernel: Call Trace: Apr 24 21:02:09 cztest kernel: <IRQ> [<ffffffff810bbca2>] __rcu_pending+0x192/0x4e0 Apr 24 21:02:09 cztest kernel: [<ffffffff810a1e70>]… Read More »