当前位置: 首页 > news >正文

浅谈Linux中的软锁定(soft lockup)和硬件监视器(watchdog)

目录

  • 1. 问题所示
  • 2. 基本知识
  • 3. 进阶知识

1. 问题所示

跑深度学习的时候遇到卡顿卡机

hostname kernel:watchdog BUG:soft lockup - CPU#16 stuck for 130s![P2PMain-72:4030570]

界面如下所示:

在这里插入图片描述

大概意思是:

watchdog_thresh参数是硬件监视器的超时阈值,即硬件监视器在未接收到系统响应的时间后会触发软锁定检测

2. 基本知识

软锁定(soft lockup)和硬件监视器(watchdog)是两个与Linux系统稳定性和可靠性密切相关的概念

一、 软锁定(Soft Lockup):
软锁定是指CPU长时间运行在内核模式下执行一个任务,而没有释放控制权给其他任务,导致系统无法响应用户输入或其他请求

软锁定通常是由于以下原因之一引起的:

  • 内核空间代码执行时间过长:某个内核线程或驱动程序执行时间过长,导致其他任务无法获得CPU时间片

  • 内核死循环(Kernel Spinlock):在多线程环境中,如果一个线程持有锁而没有释放,其他线程就无法获得该锁,导致系统停滞

软锁定的检测通常由硬件监视器(watchdog)负责,一旦检测到软锁定,就会发出警告信息并尝试恢复系统

软锁定问题的解决方法通常包括优化内核代码、修复驱动程序漏洞以及调整系统配置

二、硬件监视器(Watchdog)
硬件监视器是一种系统机制,用于监视系统的状态,并在检测到故障或异常情况时采取措施以确保系统的稳定性和可靠性。硬件监视器通常包括一个计时器和一个独立的处理器或电路,它可以监视系统的活动并在预定的时间间隔内接收或产生定时器中断。

在Linux系统中,硬件监视器通常用于监视系统的软锁定情况。当硬件监视器检测到系统停滞或软锁定时,它会向系统发送中断信号,引发相应的处理机制来识别和解决软锁定问题。这通常涉及记录相关信息、尝试恢复系统状态,并在必要时重新启动系统

三、在Linux中的应用
在Linux中,软锁定和硬件监视器功能通常通过内核模块实现,例如softlockup和watchdog模块,这些模块负责监视系统的活动并在必要时采取措施以确保系统的稳定性和可靠性

可以通过配置内核参数或加载相应的内核模块来调整软锁定和硬件监视器的行为,包括设置监视器的超时时间、启用或禁用监视器功能、以及配置系统对软锁定的响应策略等

3. 进阶知识

调整硬件监视器的超时阈值,以便增加硬件监视器对软锁定的检测时间

一、临时生效的方式

临时将硬件监视器的超时阈值设置为30秒:echo 30 > /proc/sys/kernel/watchdog_thresh,(系统重新启动后会失效)

二、永久生效的方式

通过编辑配置文件/etc/sysctl.conf或/etc/sysctl.d/*.conf,并添加以下行:

kernel.watchdog_thresh = 30

使其生效:sysctl -p

sysctl是一个用于查看、设置和管理内核参数的工具,通过使用sysctl命令,可以方便地修改内核参数,例如在运行时临时生效或永久生效
常见的用法包括sysctl -w用于临时修改参数,以及sysctl -p用于重新加载配置文件中的参数

相关文章:

浅谈Linux中的软锁定(soft lockup)和硬件监视器(watchdog)

目录 1. 问题所示2. 基本知识3. 进阶知识 1. 问题所示 跑深度学习的时候遇到卡顿卡机 hostname kernel:watchdog BUG:soft lockup - CPU#16 stuck for 130s![P2PMain-72:4030570]界面如下所示: 大概意思是: watchdog_thresh参数是硬件监视器的超时阈值…...

数据库的四个特性?MySQL是如何实现的?

首先MySQL中,数据库的四个特性分为: 原子性一致性隔离性持久性 也就是我们常说的ACID。 那么这四个特性数据库是如何实现的呢? 持久性---> redo log: redo log(重做日志): redolog本身是…...

Jupyter R绘图 汉字显示乱码的解决办法

1.Jupyte中,R绘图,汉字显示乱码 2.如何解决? (1)R中安装showtext 登录linux服务器 #R > install.packages(“showtext”) … 出错 (2)退出R,安装freetype-config #apt install libfreetype6-dev 出错 (3)进入R&…...

推荐几个值得一读的Qt开源项目

VNote - 基于Qt的免费开源笔记软件,适合那些寻找跨平台笔记解决方案的用户。项目地址:https://github.com/vnotex/vnote Qt NodeEditor - 类似于UE4蓝图的节点编辑器,对于想要深入了解Qt图形编辑和节点系统的人来说,这是一个极好…...

【XR806开发板试用】使用PWM模块模拟手机呼吸灯提示功能

一般情况下,我们的手机在息屏状态,当收到消息处于未读状态时,会有呼吸灯提醒,这次有幸抽中XR806开发板的试用,经过九牛二虎之力终于将环境搞好了,中间遇到各种问题,在我的另一篇文章中已详细描述…...

Mysql——索引下推

MySQL的索引下推(Index Condition Pushdown, ICP)是一种查询优化技术,它允许MySQL在存储引擎层执行部分WHERE子句中的过滤条件,而非全部在MySQL服务器层执行。这使得在扫描索引过程中就可以剔除不满足条件的记录,从而减…...

Springboot项目之mybatis-plus多容器分布式部署id重复问题之源码解析

mybatis-plus 3.3.2 部署多个pod id冲突问题 配置: # 设置随机 mybatis-plus.global-config.worker-id: ${random.int(1,31)} mybatis-plus.global-config.datacenter-id: ${random.int(1,31)}源码解析:MybatisSqlSessionFactoryBean 重点&#xff1a…...

微信答题小程序云开发--实现云函数上传题目图片 base64功能

需求功能 题目带有图片,需要支持上传图片功能。微信答题小程序云开发,实现云函数上传题目图片、存储功能、查询显示等功能。 云函数开发遇到的问题 在微信云开发环境当中,普通的用户并没有往云存储内写入文件的权限。 所以普通用户想要使用…...

学会Sass的高级用法,减少样式冗余

在当今的前端开发领域,样式表语言的进步已经显著提升了代码组织性和可维护性。Sass(Syntactically Awesome Style Sheets)作为CSS预处理器的翘楚,以其强大的变量、嵌套规则、混合宏(mixin)、循环和函数等高…...

【Java初阶(五)】类和对象

❣博主主页: 33的博客❣ ▶文章专栏分类: Java从入门到精通◀ 🚚我的代码仓库: 33的代码仓库🚚 目录 1. 前言2.面向对象的认识3.类的认识4. 类的实例化4.1什么是实例化4.2类和对象的说明 5.this引用6.对象初始化6.1 构造方法 7.static关键字8.代码块8.1 …...

AWTK-MODBUS 服务器

AWTK-MODBUS 服务器 1. 介绍 AWTK-MODBUS 提供了一个简单的 MODBUS 服务器,可以通过配置文件来定义寄存器和位的数量和初始值。 启动方法: bin/modbus_server_ex config/default.json2. 配置文件 配置文件使用JSON格式。 url: 连接地址auto_inc_in…...

JavaScript快速入门笔记之一(基本概念)

JavaScript快速入门笔记之一(基本概念) 前端三大语言: HTML:专门编写网页内容的语言CSS:专门美化网页样式的语言JavaScript:专门编写网页交互的语言 名词解释: 交互:输入数据&#…...

前端学习之css基本网格布局

网格布局 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>网格布局</title><style>.a{/* grid网格布局 */display: grid;width: 400px;height: 400px;border: 1px solid red;/* 设置当前…...

[网鼎杯2018]Unfinish 两种方法 -----不会编程的崽

网鼎杯太喜欢搞二次注入了吧。上次是无列名盲注&#xff0c;这次又是二次注入盲注。。。不知道方法还是挺难的。哎&#xff0c;网鼎嘛&#xff0c;能理解透彻就很强了。能自己做出来那可太nb了。 又是熟悉的登录框。不知道这是第几次看见网鼎杯的登录框了。后台扫描一下&#x…...

安防监控视频汇聚平台EasyCVR在银河麒麟V10系统中的启动异常及解决方法

安防监控视频平台EasyCVR具备较强的兼容性&#xff0c;它可以支持国标GB28181、RTSP/Onvif、RTMP&#xff0c;以及厂家的私有协议与SDK&#xff0c;如&#xff1a;海康ehome、海康sdk、大华sdk、宇视sdk、华为sdk、萤石云sdk、乐橙sdk等。平台兼容性强&#xff0c;支持Windows系…...

了解云原生

声明&#xff1a;内容来自AI&#xff0c;未经验证&#xff0c;仅供参考! 1、云原生学习路线 学习云原生(Cloud Native)技术涉及了解和掌握一系列的概念、技术和工具。云原生是一种构建和运行应用程序的方法&#xff0c;旨在充分利用云计算的灵活性、可伸缩性和弹性。以下是一…...

【go从入门到精通】for和for range的区别

作者简介&#xff1a; 高科&#xff0c;先后在 IBM PlatformComputing从事网格计算&#xff0c;淘米网&#xff0c;网易从事游戏服务器开发&#xff0c;拥有丰富的C&#xff0c;go等语言开发经验&#xff0c;mysql&#xff0c;mongo&#xff0c;redis等数据库&#xff0c;设计模…...

【C语言】【Leetcode】88. 合并两个有序数组

文章目录 一、题目二、思路再思考 一、题目 链接: link 二、思路 这题属于简单题&#xff0c;比较粗暴的做法就是直接比较两个数组&#xff0c;先把第二个数组加到第一个的后面&#xff0c;如何冒泡排序&#xff0c;这种方法简单粗暴但有效&#xff0c;可是不适用于这题&…...

DMA控制器

前言 大家好&#xff0c;我是jiantaoyab&#xff0c;这是我作为学习笔记的25篇&#xff0c;本篇文章给大家介绍DMA。 无论 I/O 速度如何提升&#xff0c;比起 CPU&#xff0c;总还是太慢。如果我们对于 I/O 的操作&#xff0c;都是由 CPU 发出对应的指令&#xff0c;然后等待…...

SQLiteC/C++接口详细介绍sqlite3_stmt类(十)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍sqlite3_stmt类&#xff08;九&#xff09; 下一篇&#xff1a; SQLiteC/C接口详细介绍sqlite3_stmt类&#xff08;十一&#xff09; 38、sqlite3_column_value sqlite3_column_valu…...

Qwen3.5-2B轻量模型评测:端侧推理延迟、功耗、准确率三维平衡点实测

Qwen3.5-2B轻量模型评测&#xff1a;端侧推理延迟、功耗、准确率三维平衡点实测 1. 模型概述 Qwen3.5-2B是通义千问团队推出的轻量化多模态基础模型&#xff0c;属于Qwen3.5系列的小参数版本&#xff08;20亿参数&#xff09;。该模型专为低功耗、低门槛部署场景设计&#xf…...

EPSON机器人通信避坑指南:TCP/IP协议在LS3-401S上的常见问题与解决方案

EPSON机器人通信避坑指南&#xff1a;TCP/IP协议在LS3-401S上的常见问题与解决方案 在工业自动化领域&#xff0c;EPSON LS3-401S机器人凭借其高精度和可靠性广受青睐。然而&#xff0c;在实际部署过程中&#xff0c;TCP/IP通信问题往往成为工程师们的"拦路虎"。本文…...

CSDN首页发布文章基于Min-Max-Max-Min四层优化架构的多能源系统日前-实时两阶段鲁棒调度模型,结合了Wasserstein分布鲁棒优化(DRO)和CVaR风险管理,用于求解含高比例

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

3步零代码实现Python应用无缝迁移:Python for Android跨平台转换指南

3步零代码实现Python应用无缝迁移&#xff1a;Python for Android跨平台转换指南 【免费下载链接】python-for-android Turn your Python application into an Android APK 项目地址: https://gitcode.com/gh_mirrors/py/python-for-android 问题诊断篇&#xff1a;Pyth…...

如何利用YimMenu彻底改变你的GTA5游戏体验:终极GTA5增强工具完全指南

如何利用YimMenu彻底改变你的GTA5游戏体验&#xff1a;终极GTA5增强工具完全指南 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Tr…...

Mac 本地轻量级 K8s 开发环境实战指南

1. 为什么要在Mac上搭建轻量级K8s环境&#xff1f; 作为开发者&#xff0c;我们经常需要在本地测试Kubernetes应用&#xff0c;但传统方案要么太重&#xff08;如完整K8s集群&#xff09;&#xff0c;要么太慢&#xff08;如云环境&#xff09;。在Mac上搭建轻量级K8s环境可以完…...

新手福音:借助快马AI生成代码,轻松入门天天直播应用开发

作为一个刚入门前端开发的新手&#xff0c;想尝试直播类应用开发时&#xff0c;面对复杂的技术栈和交互逻辑常常无从下手。最近我发现用InsCode(快马)平台可以快速生成可运行的学习项目&#xff0c;就以"天天直播"为例记录下我的实践过程。 项目结构设计 整个直播页面…...

如何快速掌握gdrivedl:面向新手的Google Drive下载终极指南

如何快速掌握gdrivedl&#xff1a;面向新手的Google Drive下载终极指南 【免费下载链接】gdrivedl Google Drive Download Python Script 项目地址: https://gitcode.com/gh_mirrors/gd/gdrivedl 你是否经常需要从Google Drive下载共享文件&#xff0c;但总是遇到下载速…...

Guohua Diffusion 长短期记忆网络辅助:实现连贯性故事图像生成

Guohua Diffusion 长短期记忆网络辅助&#xff1a;实现连贯性故事图像生成 你有没有想过&#xff0c;让AI帮你画一个完整的故事&#xff1f;比如&#xff0c;一个关于探险家穿越神秘森林的漫画&#xff0c;或者一个产品从概念到成型的视觉故事板。现在很多图像生成模型单张图做…...

DeepSeek-OCR-2保姆级部署教程:5分钟在星图GPU平台一键搭建OCR服务

DeepSeek-OCR-2保姆级部署教程&#xff1a;5分钟在星图GPU平台一键搭建OCR服务 1. 为什么你需要这个OCR服务 如果你经常需要处理扫描文档、发票、合同或者各种纸质材料的数字化&#xff0c;肯定遇到过传统OCR工具的痛点——表格识别混乱、多栏文本顺序错乱、公式识别一塌糊涂…...