
工具
文章平均质量分 68
菜鸟别浪
联系方式:hzj_smile@126.com
展开
-
一个hard lockup的vmcore实例解析
Hard lockup occurs due to an infinite loop encountered in distribute_cfs_runtime()环境Red Hat Enterprise Linux 7.3 (kernel-3.10.0-514.el7.x86_64)问题Hard lockup occurs due to an infinite loop encounte...原创 2019-07-09 20:42:04 · 1144 阅读 · 0 评论 -
systemtap打印accept的进程pid和对应的socket套接字(嵌入c的使用)
#probe kernel.function("unix_accept")%{#include <net/sock.h>#include <net/af_unix.h>%}function _unix_path:long(sock:long)%{ struct socket *sock = (struct socket *)(long) ST...原创 2019-08-23 17:46:33 · 704 阅读 · 0 评论 -
Hard lockup occurs due to an infinite loop encountered in distribute_cfs_runtime()
Hard lockup occurs due to an infinite loop encountered in distribute_cfs_runtime()SOLUTION 已验证 - 已更新 2018年一月29日08:14 - English环境Red Hat Enterprise Linux 7.3 (kernel-3.10.0-514.el7.x86_64)问题Hard...原创 2019-08-24 12:19:18 · 477 阅读 · 0 评论 -
softlockup/hardlockup原理详细介绍
主体涉及到了3个机制:kernel watchodog线程,高精度定时器(时钟中断),基于PMU硬件perf event的NMI(不可屏蔽中断)。基本思想: 1.)(soft lockup):抢占被长时间关闭而导致其余进程无法调度 2.)(hard lockup):中断被长时间关闭而导致softlockup基本原理: 1)SoftLockup 检测首先需...原创 2019-08-24 17:01:15 · 2923 阅读 · 0 评论 -
linux日志级别的正确使用(printk)
1.内核有严格的日志级别控制,他实际控制的是printk的输出以及对应内核驱动模块还有dev_dbg,dev_printk等函数的输出;我们可以通过proc接口来进行控制台输出我们需要的debug信息;内核日志级别有以下0-7共8级,数字越低级别越高: EMERG 0 ALERT 1 CRIT 2 ERR 3 WARNING 4 NOTICE 5 INFO 6 DEBUG 72...原创 2019-08-15 19:23:18 · 1432 阅读 · 0 评论 -
配置vmcore通过ssh转储到其他主机的方法
1.配置/etc/kdump.conf修改以下二项: 1)ssh root@xx.xx.xx.xx (vmcore会被scp到目的端的/var/crash目录) 2)core_collector 增加 -F 选项,否则,kdump无法启动(具体为:core_collector makedumpfile -l -F --message-level 1 -d 31)2.执行kdum...原创 2019-08-22 14:06:54 · 402 阅读 · 0 评论 -
vmcore分析和实战
经典案例收集:1.解析结构体成员变量:http://blog.chinaunix.net/uid-14528823-id-4432077.html2.解析链表:https://access.redhat.com/solutions/27865913.Crash工具实战-结构体解析(skb相关解析)1.基础知识 1)工具:crash、vmcore、kernel对应版本的ke...原创 2019-08-18 13:05:34 · 13328 阅读 · 0 评论 -
is there a way to find the list of slab aliases for a given kmem_cache
IntroductionThe kmem subsystem in RHEL7 has changed to include cache aliases, which can be confusing. This article covers a bit of the internals of the slab aliases and which should give some pointe...原创 2019-08-18 13:26:13 · 755 阅读 · 0 评论 -
vmcore经典案例(hardlockup、softlockup、读写锁、hung、oom)
一次spinlock死锁故障的定位中断上下文使用spin_lock使导致死锁案例分析用crash工具分析Linux内核死锁的一次实战linux 3.10 一次softlock排查linux 2.6.32.220的一个crash记录linux 一个读写锁的使用异常导致的故障linux 3.10 的又一次hung一个rcu回调导致的简单死锁一个未完成的2.6.32-2...原创 2019-08-25 15:24:32 · 1033 阅读 · 0 评论 -
systemtap监控所有进程的收发包情况(数组的使用)
global recv, xmit probe begin { printf("Starting network capture...Press ^C to terminate\n") } probe netdev.receive { recv[dev_name, pid(), execnam...原创 2019-08-23 17:44:41 · 546 阅读 · 0 评论 -
systemtap打点方法
CentOS/RedHat发行版使用yum安装下列rpm包即可:systemtap:SystemTap包gcc:c语言编译器elfutils:提供库函数来分析调试信息kernel-devel:编译内核模块所需的内核头文件及模块配置信息kernel-debuginfo:提供所需的内核调试信息来定位内核函数和变量的位置使用一些例子SystemTap的简单例...原创 2019-08-23 17:43:19 · 773 阅读 · 0 评论 -
linux网卡命名规则
网卡命名一、为什么需要这个 服务器通常有多块网卡,有板载集成的,同时也有插在PCIe插槽的。Linux系统的命名原来是eth0,eth1这样的形式,但是这个编号往往不一定准确对应网卡接口的物理顺序。 为解决这类问题,dell开发了biosdevname方案。 systemd v197版本中将dell的方案作了进一步的一般化拓展。 ...原创 2018-08-11 16:15:53 · 25969 阅读 · 2 评论 -
内核模块的加载与卸载
1: 内核源码存放的位置 /usr/src/linux 或者 /usr/src/kernel2: 内核模块存放的位置 /lib/modules/($uname -r)/kernel3: 模块的依赖性:检查 /lib/modules/($uname -r)/modules.dep文件,它记录了内核支持模块的依赖关系。 .dep文件的制作:通过depmod命令 eg:...原创 2019-08-19 18:46:11 · 2298 阅读 · 0 评论 -
网卡bonding配置
bonding配置有下面几种方式,业务可供参考:1)系统配置文件形式(ifcfg-bond0)[root@h63 ~]# vim /etc/sysconfig/network-scripts/ifcfg-bond0DEVICE=bond0 #设备名称BOOTPROTO=static #静态IPONBOOT=yes #自动启动IPADDR=17...原创 2019-08-19 18:53:10 · 2285 阅读 · 0 评论 -
tcpdump和wireshark抓包方法介绍
1.tcpdump工具的使用:用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。 语法: tcpdu...原创 2019-08-19 18:58:16 · 387 阅读 · 0 评论 -
perf-应用程序的调优与使用
Perf 是用来进行软件性能分析的工具。 通过它,应用程序可以利用 PMU,tracepoint 和内核中的特殊计数器来进行性能统计。它不但可以分析指定应用程序的性能问题 (per thread),也可以用来分析内核的性能问题,当然也可以同时分析应用代码和内核,从而全面理解应用程序中的性能瓶颈。 使用 perf,您可以分析程序运行期间发生的硬件事件,比如 instruc...原创 2019-08-19 19:05:14 · 792 阅读 · 0 评论 -
perf内核调优
在内核方面,人们的兴趣五花八门,有些内核开发人员热衷于寻找整个内核中的热点代码;另一些则只关注某一个主题,比如 slab分配器,对于其余部分则不感兴趣。对这些人而言,perf 的一些奇怪用法更受欢迎。当然,诸如perf top,perf stat, perf record 等也是内核调优的基本手段,但用法和一样,无需重述。2.使用 tracepoint 当 per...原创 2019-08-19 19:13:49 · 2239 阅读 · 0 评论 -
linux下用户态程序coredump生成方法
总结:1.打开coredump开关 登陆 LINUX 服务器,任意位置键入 echo "ulimit -c 1024" >> /etc/profile(1024 限制产生的 core 文件的大小不能超过 1024kb,可以使用参数unlimited,取消该限制) 退出 LINUX 重新登陆 LINUX 键入 ulimit -c,如果显示 10...原创 2019-08-19 19:30:21 · 975 阅读 · 0 评论 -
主机串口配置
grub 加上,console=ttyS0,115200 console=tty0(或者修改/etc/grub2.cfg)好像需要重启生效;调试机器上用minicom或者串口工具;原创 2019-08-19 19:32:56 · 527 阅读 · 0 评论 -
虚机串口的配置
虚机串口的二种配置方式:1.虚机xml文件配置:2种方法 1)配置pty串口,可以通过virsh console 虚机ID 访问<serial type='pty'> <source path='/dev/pts/1'/> <target port='0'/> <alias name='s...原创 2019-08-28 19:37:25 · 738 阅读 · 0 评论