随笔分类 - KERNEL-问题排查
摘要:from: https://www.gobeta.net/posts/fsck-command-in-linux 背景: fsck(文件系统检查)是一种命令行实用程序,可让您在一个或多个 Linux 文件系统上执行一致性检查和交互式修复。它的程序独立于所检查文件的系统类型。 在系统无法启动或无法挂载
阅读全文
摘要:前提: 首先,了解: /proc/net/sockstat , 和 ss -s 命令 cat /proc/net/sockstat sockets: used 294 TCP: inuse 35 orphan 0 tw 0 alloc 45 mem 1 UDP: inuse 13 mem 2 UDP
阅读全文
该文被密码保护。
摘要:linux backtrace()详细使用说明,分析Segmentation fault 在此之前,开发eCos应用程序时,经常碰到程序挂掉后,串口打印输出一大串让人看不懂的数据。今天才明白,原来这些数据是程序挂掉时的堆栈帧数据(stack frame data)。 通过这些堆栈帧数据可以分析出程序
阅读全文
摘要:Centos7升级内核后无法启动解决办法:mpt[23]sas驱动问题 前言 这个问题存在有一段时间了,之前做的centos7的ISO,在进行内核的升级以后就存在这个问题: 系统盘在板载sata口上是可以正常启动新内核并且能识别面板硬盘 系统盘插在面板口上新内核无法启动,调试发现无法找到系统盘 系统
阅读全文
摘要:思路 perf top 查看调用链,可以确定,基本是因为,用户态java多线程,重度使用锁导致,perf看到内核态很多的锁相关操作。 用户态的锁调用 , 最终会转化到 内核态 的spin lock
阅读全文
摘要:在内核开发的过程中,经常会碰到内核崩溃,比如空指针异常,内存访问越界。通常我们只能靠崩溃之后打印出的异常调用栈信息来定位crash的位置和原因。总结下分析的方法和步骤。 通常oops发生之后,会在串口控制台或者dmesg日志输出看到如下的log,以某arm下linux内核的崩溃为例, 在这里,我们着
阅读全文
摘要:LD_DEBUG 是 glibc 中的 loader 为了方便自身调试而设置的一个环境变量。通过设置这个环境变量,可以方便的看到 loader 的加载过程。 LD_DEBUG=help ./main Valid options for the LD_DEBUG environment variabl
阅读全文
该文被密码保护。