/proc/sys/kernel/hung_task_timeout_secs" disables this message" /> linux---"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message

linux---"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message

2023-11-19

 

2020年3月14日服务器异常重启,查看/var/log/message日志,如下:

Mar 14 15:04:59 localhost kernel: azx_single_send_cmd: 11 callbacks suppressed
Mar 14 15:05:14 localhost kernel: azx_single_send_cmd: 4 callbacks suppressed
Mar 14 15:07:14 localhost kernel: INFO: task jbd2/dm-1-8:1362 blocked for more than 120 seconds.
Mar 14 15:08:15 localhost kernel:      Tainted: G           OE     4.17.19-debug.x86_64 #1
Mar 14 15:08:32 localhost kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Mar 14 15:08:43 localhost kernel: jbd2/dm-1-8     D    0  1362      2 0x80000000
Mar 14 15:08:43 localhost kernel: Call Trace:
Mar 14 15:08:43 localhost kernel: ? __schedule+0x28a/0x840
Mar 14 15:08:43 localhost kernel: ? __wake_up_common_lock+0x87/0xc0

Mar 14 15:08:43 localhost kernel: schedule+0x32/0x80
Mar 14 15:08:43 localhost kernel: jbd2_journal_commit_transaction+0x275/0x1a00 [jbd2]
Mar 14 15:08:43 localhost kernel: ? __switch_to_asm+0x40/0x70
Mar 14 15:08:43 localhost kernel: ? __switch_to_asm+0x34/0x70
Mar 14 15:08:43 localhost kernel: ? __switch_to_asm+0x34/0x70
Mar 14 15:08:43 localhost kernel: ? __switch_to_asm+0x40/0x70
Mar 14 15:08:43 localhost kernel: ? __switch_to_asm+0x34/0x70
Mar 14 15:08:43 localhost kernel: ? __switch_to_asm+0x40/0x70
Mar 14 15:08:43 localhost kernel: ? __switch_to_asm+0x34/0x70
Mar 14 15:08:43 localhost kernel: ? __switch_to_asm+0x40/0x70
Mar 14 15:08:43 localhost kernel: ? __switch_to_asm+0x34/0x70
Mar 14 15:08:43 localhost kernel: ? __switch_to_asm+0x34/0x70
Mar 14 15:08:43 localhost kernel: ? __switch_to_asm+0x40/0x70
Mar 14 15:08:43 localhost kernel: ? __switch_to_asm+0x34/0x70
Mar 14 15:08:43 localhost kernel: ? __switch_to_asm+0x34/0x70
Mar 14 15:08:43 localhost kernel: ? __switch_to_asm+0x40/0x70
Mar 14 15:08:43 localhost kernel: ? __switch_to_asm+0x34/0x70
Mar 14 15:08:43 localhost kernel: ? __switch_to+0xa8/0x480
Mar 14 15:08:43 localhost kernel: ? remove_wait_queue+0x60/0x60
Mar 14 15:08:43 localhost kernel: ? try_to_del_timer_sync+0x4d/0x80
Mar 14 15:08:43 localhost kernel: kjournald2+0xc1/0x260 [jbd2]
Mar 14 15:08:43 localhost kernel: ? remove_wait_queue+0x60/0x60
Mar 14 15:08:43 localhost kernel: kthread+0xf5/0x130
Mar 14 15:08:43 localhost kernel: ? commit_timeout+0x10/0x10 [jbd2]
Mar 14 15:08:43 localhost kernel: ? kthread_bind+0x10/0x10
Mar 14 15:08:43 localhost kernel: ret_from_fork+0x35/0x40

 

原因在于,至少情况下,Linux会使用最多40%的可用内存作为文件系统缓存。 将缓存写入磁盘时,有一个至少120秒的超时时间。出现上述问题的原因是IO的处理速度不够快,不能在120秒将缓存中的数据全部写入磁盘。IO系统响应缓慢,导致越来越多的请求堆积,最终系统内存全部被占用,导致系统失去响应。这是Linux延迟写入机制带来的问题,并且在主机内存重叠时,出现该问题的可能性增大。

我们可以从以下思路进行调优:

  1. 减少脏数据的比例,避免刷写超时
  2. 初步脏数据在内存中的存放时间,避免积少成多

修改相应参数

临时修改

# sysctl -w vm.dirty_ratio=10
# sysctl -w vm.dirty_background_ratio=5
# sysctl -p

永久修改

#vi /etc/sysctl.conf
写入
vm.dirty_background_ratio = 5
vm.dirty_ratio = 10

修改完重启服务器

 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux---"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message 的相关文章

  • 从命名管道读取

    我必须实现一个 打印服务器 我有 1 个客户端文件和 1 个服务器文件 include
  • 除了 iptables 之外还有数据包管理实用程序吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 Linux 实用程序 它可以根据一组规则更改网络数据包的有效负载 理想情况下 我会使用
  • 不同GIT版本的GIT合并结果不同

    在不同的 GIT 版本上运行 merge 命令我们得到不同的结果 命令是 git merge no ff origin master codeline Results 版本2 1 4 gt 合并成功 版本1 7 1 gt 同一提交上的同一合
  • 将用户添加到组但运行“id”时未反映

    R 创建了一个名为 Staff 的组 我希望能够在不以 sudo 身份启动 R 的情况下更新软件包 所以我使用以下方法将自己添加到员工中 sudo usermod G adm dialout cdrom plugdev lpadmin ad
  • 页面错误陷阱的成本

    我有一个应用程序 它定期 每 1 或 2 秒后 通过分叉自身来获取检查点 因此 检查点是原始进程的一个分支 它一直保持空闲状态 直到原始进程发生某些错误时被要求启动 现在我的问题是fork的写时复制机制的成本有多大 每当原始进程写入内存页面
  • 访问 Linux 线程(pthreads)的本地堆栈

    我目前正在实现一个使用多线程但对总内存消耗有要求的应用程序 我希望有一个主线程执行 I O 并有几个工作线程执行计算 目前 我在主堆栈上有几个可供工作人员访问的数据结构 我使用 OpenMP 进行工作分配 由于主 工作者模式不能很好地与 O
  • 如何使用sprof?

    请举例说明 从邮件中找到here http sources redhat com ml libc alpha 2003 07 msg00029 html and here http sourceware org ml binutils 20
  • 如何使用 tmuxinator 在 tmux 中拆分水平窗格内的两个垂直窗格

    目前我的 tmuxinator yml 文件中有这个 windows editor layout main horizontal panes vim server rails s 这给了我两个窗口 一个用于编辑器 另一个用于服务器 在编辑器
  • 如何“grep”连续流?

    可以用吗grep在连续的流中 我的意思是有点tail f
  • bash双括号问题

    我对 bash 脚本非常陌生 在使用双括号时遇到了问题 我似乎无法让它们在 Ubuntu Server 11 10 中工作 我的下面的脚本位于 if test sh 中 bin bash if 14 14 then echo FOO fi
  • Mono 和 WebRequest 速度 - 测试

    在 mono 4 6 2 linux 中 我注意到 wget 下载文件的速度与webclient DownloadString 所以我做了一个小测试来调查 为什么 wget 明显比 C 快 根据我自己的实验 使用 wget 下载 手动读取文
  • 是否可以找到哪个用户位于 localhost TCP 连接的另一端?

    这是一个编程问题 但它是 Linux Unix 特定的 如果我从本地主机获得 TCP 连接 是否有一种简单的方法可以告诉哪个用户在 C 程序内建立了连接而无需 shell 我知道这对于 Unix 域套接字来说并不太难 我已经知道远程 IP
  • 使用 C++ 输出字符串覆盖 Linux 终端上的最后一个字符串

    假设我有一个命令行程序 有没有办法让我说的时候 std cout lt lt stuff 如果我不做std cout lt lt n 在另一个之间std cout lt lt stuff 东西的另一个输出将覆盖同一行上的最后一个东西 清理行
  • 变量作为 bash 数组索引?

    bin bash set x array counter 0 array value 1 array 0 0 0 for number in array do array array counter array value array co
  • 原生 Linux 应用程序可像 ResHacker 一样编辑 Win32 PE

    我想运行自动修改 dll服务 用户提交特定的 dll 我在服务器上修改它 然后用户可以下载 dll的修改版本 是否有任何本机 Linux 应用程序提供常见的 Win32 PE 修改功能 例如图标 字符串 加速器 对话等 至少提供命令行或脚本
  • Docker DNS 设置

    我尝试使用自定义网络和 dos 设置创建 docker 容器 docker网络创建 driver bridge opt com docker network bridge enable ip masquerade true opt com
  • 将 stdout 作为命令行 util 的文件名传递?

    我正在使用一个命令行实用程序 该实用程序需要传递文件名以将输出写入 例如 foo o output txt 它唯一写入的东西stdout是一条消息 表明它运行成功 我希望能够通过管道传输写入的所有内容output txt到另一个命令行实用程
  • 在中断时获取 current->pid

    我正在Linux调度程序上写一些东西 我需要知道在我的中断到来之前哪个进程正在运行 当前的结构可用吗 如果我在中断处理程序中执行 current gt pid 我是否可以获得我中断的进程的 pid 你可以 current gt pid存在并
  • 如何在两个不同帐户之间设置无密码身份验证

    我们可以在两台机器的两种不同用途之间设置无密码身份验证吗 例如 计算机A有用户A 计算机B有用户B 我们可以设置密码 ssh 以便计算机 A 上的用户 A 使用其用户帐户 A 登录计算机 B 谢谢你 如果我理解你的问题 你能设置一下吗ssh
  • 如何在 Linux x86_64 上模拟 iret

    我正在编写一个基于 Intel VT 的调试器 由于当 NMI Exiting 1 时 iret 指令在 vmx guest 中的性能发生了变化 所以我应该自己处理vmx主机中的NMI 否则 guest会出现nmi可重入错误 我查了英特尔手

随机推荐

  • MySQL表的操作

    MySQL表的操作 创建表 查看表结构的详细信息 修改表结构 增加表结构属性 删除表结构 表结构的修改 删除表结构 创建表 语法 create table table name field1 datatype comment xxxxx f
  • 多线程太可怕了

    今天发现了一个多线程引起的bug 然后进一步体会到 这东西太容易出问题了 首先要说明的是 出问题的代码可不是一般人写的 是由一个叫EPAM systems的世界知名外包公司的人写的 这些java程序员个个经验丰富 心高气傲 貌似base在乌
  • 久坐不运动易导致低血压

    近年来 越来越多的年轻人患上了体质性低血压 大多是由于久坐不运动和营养不 够 两大原因造成的 现在 不少年轻人缺乏体育锻炼 一天到晚屁股总粘着凳子 久而久之 血管的活动也随之减少 使得血管的反应能力慢慢变差 一个简单的蹲下 站立动作也会使得
  • SEM代码篇----R详细实现(SEM 2)

    SEM代码篇 R详细实现 1 step1 安装包 install packages lavaan install packages semPlot install packages semTools rm list ls 清除所有变量 li
  • Doris节点扩容及数据表

    扩容和缩容 上篇文章简单讲了doris的安装 本章分享的是doris中fe和be节点的扩容缩容以及doris的数据表 1 FE 扩容和缩容 使用 MySQL 登录客户端后 可以使用 sql 命令查看 FE 状态 目前就一台 FE mysql
  • git学习心得

    git是一款十分有用的版本控制软件 程序员必备 http www liaoxuefeng com wiki 0013739516305929606dd18361248578c67b8067c8c017b000 001374325691607
  • LeetCode第79题:单词搜索

    给定一个 m x n 二维字符网格 board 和一个字符串单词 word 如果 word 存在于网格中 返回 true 否则 返回 false 单词必须按照字母顺序 通过相邻的单元格内的字母构成 其中 相邻 单元格是那些水平相邻或垂直相邻
  • 中国人民大学计算机系孙辉,张静(中国人民大学信息学院计算机系讲师)_百度百科...

    张静 中国人民大学信息学院计算机系讲师 语音 编辑 锁定 讨论 上传视频 本词条缺少概述图 补充相关内容使词条更完整 还能快速升级 赶紧来编辑吧 张静 现任中国人民大学信息学院计算机系讲师 1 中文名 张静 毕业院校 比利时鲁汶大学学位 学
  • 最详细的Java知识点--Map集合

    Map 主要内容 Map集合 目标 能够说出Map集合特点 使用Map集合添加方法保存数据 使用 键找值 的方式遍历Map集合 使用 键值对 的方式遍历Map集合 能够使用HashMap存储自定义键值对的数据 能够使用HashMap编写斗地
  • java错误和异常

    错误 error 非常严重 不处理无法编译 不过很容易处理 一般也就是变量名错误 函数写错了这些 还有就是内存 环境问题了 异常 Exception 编译时异常 必须使用try catch才能运行 比如IOException SQLExce
  • Java--- Java 中的线程,一般执行完成后就会自动销毁

    关于 Java 中的线程 一般执行完成后就会自动销毁 程序会终止 如下测试代码 public class Test implements Runnable public static void main final String args
  • Unity 2D 碰撞检测位置,生成烟雾实例化

    ContactPoint2D contact p collision contacts 0 Quaternion rot Quaternion FromToRotation Vector3 up contact normal Vector3
  • ubuntu安装最新版docker简易教程

    Ubuntu Docker 安装 Docker Engine Community 支持以下的 Ubuntu 版本 Xenial 16 04 LTS Bionic 18 04 LTS Cosmic 18 10 Disco 19 04 其他更新
  • pyecharts源码解读(17)HTML组件包components之表格组件Table

    当前pyecharts的版本为1 9 0 components包概述 components包位于pyecharts包顶级目录中 用于定义pyecharts的HTML组件 包结构如下 components HTML组件包 image py 定
  • python注意事项2

    工具pycharm 1 字符串的方法 hello str hello world 以什么开始 hello str startwith h 以什么结束 hello str endwith 去除空白字符 string lstrip 去除左边的空
  • 【Docker网络】Docker的容器互联

    Docker网络 Docker的容器互联 一 Docker容器互联介绍 1 1 Docker容器互联简介 1 2 Docker容器互联方式 二 本次实践介绍 2 1 本地环境规划 2 2 本次实践介绍 三 默认网络下的容器互联 3 1 默认
  • ABB PFEA111-20 3BSE050090R20处理器模块

    处理能力 PFEA111 20 处理器模块可能具备高性能的处理能力 能够执行复杂的控制算法 逻辑运算和数据处理任务 多通道输入输出 该模块可能会提供多个数字或模拟输入通道 用于监测外部信号 以及多个输出通道 用于控制执行器和设备 通信接口
  • 测试自动化面试题

    Python python有哪些数据类型 Python支持多种数据类型 包括以下常见的数据类型 数字类型 整数 int 浮点数 float 和复数 complex 字符串类型 由字符组成的不可变序列 使用引号 单引号或双引号 括起来 列表
  • 机器学习(三)K-means聚类(手肘法、轮廓系数、可视化代码)

    K means聚类 聚类是无监督学习当中非常重要的一部分 能够在没有标签的情况下将数据分类 说到聚类 最常用也是最重要的一个算法就是K means算法 算法介绍 K means是一种非常简单快速高效的算法 只需要迭代几次即可 其原理用一句话
  • linux---"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message

    2020年3月14日服务器异常重启 查看 var log message日志 如下 Mar 14 15 04 59 localhost kernel azx single send cmd 11 callbacks suppressed M