【driver5】调用堆栈函数,printk,动态打印,topperf,ftrace,proc,sysfs

文章目录

  • 1.内核函数调用堆栈:4个函数
  • 2.printk:cat /proc/cmdline查看console=ttyS0
  • 3.动态打印:printk是全局的且只能设打印等级,动态打印可控制选择模块的打印,在内核配置打开CONFIG_DYNAMIC_DEBUG
  • 4.top&perf:
  • 4.ftrace:系统层面,功能需要打开,image大小会变大
  • 5.proc文件系统:/proc/cpuinfo,meminfo,net
  • 6.sysfs文件系统:设备树里所有信息在/sys/devices/platform里,class是不同驱动但相同行为事件如input汇总


1.内核函数调用堆栈:4个函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.printk:cat /proc/cmdline查看console=ttyS0

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.动态打印:printk是全局的且只能设打印等级,动态打印可控制选择模块的打印,在内核配置打开CONFIG_DYNAMIC_DEBUG

printk会关中断影响性能,如果在usb的read/write里printk,那么usb就没法直接用了。我想加很多调试信息,但是不想影响linux性能,所以用动态打印,调试时才打开,control节点默认不输出,如下操作才输出,+p是转为printk,相当于下面的define dev_dbg …。
在这里插入图片描述
在这里插入图片描述

4.top&perf:

如下是top命令:idle和wait是cpu不工作时间,其余项都是cpu工作时间。idle是cpu无事可做,而wait是cpu想做事却做不了,所以wait是特殊的idle,是cpu上至少一个线程阻塞在i/o时的idle。
用户层us:这个比例越高,说明cpu利用率越好,因为我们目的就是为了让cpu将更多的时间用在执行用户代码上。
内核sy:比例越低越好,因为cpu不应该把时间浪费在执行内核函数上。
ni:运行一个进程后,默认nice值为0,通过renice增加该进程nice值(设为正数),该进程的CPU利用率会在ni中显示,减少进程nice值(设为负数)则不会在这里显示。
空闲id:整体cpu利用率=100减去id,为了提高资源利用率,目标是降低id。
wa:cpu阻塞在i/o上时间,如cpu从磁盘读取文件内容时,由于磁盘i/o太慢,导致cpu不得不等待数据就绪,才能继续执行下一步操作,这个值越高,说明i/o处理能力出问题。
硬中断hi:cpu消耗在硬中断里时间,正常情况这个值很低,因为中断处理很快,即使有大量硬件中断也不会消耗很多cpu时间。
软中断si:cpu消耗在软中断里时间,如进行网络数据大量收发,si会升高,因为有tx软中断和rx软中断处理才能发数据。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
网络数据收发绕过cpu,用硬中断。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.ftrace:系统层面,功能需要打开,image大小会变大

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如下文件包含可追踪的所有场景。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如下案例:mpstat,perf(看函数执行次数),ftrace看函数执行时间。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如下sys_sync是系统调用。
在这里插入图片描述
如下可以打印出时间。
在这里插入图片描述
在这里插入图片描述

5.proc文件系统:/proc/cpuinfo,meminfo,net

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.sysfs文件系统:设备树里所有信息在/sys/devices/platform里,class是不同驱动但相同行为事件如input汇总

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/620588.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

考研OSchap4文件管理chap5磁盘管理(部分)

目录 一、整体认知 1.文件的定义 250 2.文件的属性 251 3.文件内部应该如何被组织(逻辑结构) 256 4.文件之间应该如何被组织起来(目录结构) 252 5.OS应该向上提供哪些功能 253 6.文件应该如何存放在外存中(物理结构) 258 7.OS如何管理外存中的空闲块(存储空间的管理) 25…

CloakQuest一款绕过CDN检测真实 IP 的工具-漏洞探测

0x01 工具介绍 CloakQuest是一个非常有用的 Python工具,经过长时间的研究和利用才公开,它可以暴露被 Cloudflare以及其它被普遍使用的 Web安全性和效能提升服务所保护的站点的真正 IP。它能绕过CDN找出真正的 IP地址。并且支持信息收集功能,…

代码签名证书的重要作用及申请途径

代码签名技术是一种确保软件完整性和来源可信度的安全措施。它通过数字证书和加密算法为软件代码或可执行文件加上一个“签名”,以此验证软件未被篡改,并确认其来源于可信赖的开发者。 一、代码签名证书的重要作用 1、提高下载率和安装率:用…

第十一届蓝桥杯大赛软件类决赛 Java C 组

文章目录 发现宝藏【考生须知】试题 A: 美丽的 2试题 B: 合数个数试题 C: 扩散试题 D: 阶乘约数试题 E: 本质上升序列试题 F 天干地支试题 G 皮亚诺曲线距离试题 H 蓝肽子序列试题 I: 画廊试题 J 答疑 发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂&a…

IT行业现状与未来趋势-技术创新日新月异

目录 一、引言 二、IT行业现状 技术创新日新月异 市场需求持续增长 人才竞争激烈 网络安全问题凸显 三、IT行业未来趋势 人工智能将更加普及 区块链技术将改变商业模式 网络安全将成为重要战略 数字化转型将加速推进 四、结语 一、引言 随着科技的飞速发展&#x…

日志:打印技巧

一、概览 Unity日志打印技巧 常规日志打印彩色日志日志存储与上传日志开关日志双击溯源 二、常规日志打印 1、打印Hello World 调用堆栈可以很好的帮助我们定位问题,特别是报错的Error日志 Debug.Log("Hello World");Debug.Log("This is a log m…

作为一名普通投资者怎么查看现货白银的价格是多少?

做现货白银白银投资的投资者,经常会关注现货白银的价格是多少,因为交易决策是建立在具体的价格之上的。那么有什么方法可以让投资者可以时刻关注到现货白银的价格多少呢? 要时刻监测现货白银的价格,我们主要有2种途径,…

什么是OV SSL证书?为什么企业需要OV SSL证书?

在当今数字化时代,网络安全已成为企业和个人关注的焦点。SSL证书作为保障网络通信安全的重要工具,其重要性不言而喻。特别是组织验证型(OV) SSL证书,它不仅提供了网站通信的加密保护,还通过身份验证增强了用户对网站的信任度。本文…

element table 合并单元格(:span-method)

element table 需要最后一列单元格进行单一到左 需要一个地方对整个表格做操作&#xff0c;没有UI设计&#xff0c;需要自行脑补设计 把最后一列全部合并&#xff0c;做成一列输出就好&#xff1b; 效果 核心代码 视图 <el-table :data"loseDataList" style&quo…

虚拟机桥接模式连接失败解决方案

问题&#xff1a; 虚拟机之前使用一直没有问题&#xff0c;某次开机后不能正常使用桥接模式了&#xff0c;确认防火墙等相关都已关闭设置好。 解决方案&#xff1a; 添加新的网络适配器后&#xff0c;改成桥接模式&#xff0c;然后保存后重新打开&#xff0c;可以正常使用

MSMQ消息队列

MQ是一种企业服务的消息中间节技术&#xff0c;这种技术常常伴随着企业服务总线相互使用&#xff0c;构成了企业分布式开发的一部分&#xff0c;如果考虑到消息的发送和传送之间是可以相互不联系的并且需要分布式架构&#xff0c;则可以考虑使用MQ做消息的中间价技术&#xff0…

天锐绿盾 | 企事业单位 / 公司办公电脑文件防泄密系统,文件、文档、设计图档、开发过程中的源代码、音视频等数据资料透明加密保护软件

天锐绿盾是一款专为企事业单位及公司设计的电脑文件安全防护系统&#xff0c;主要功能是实现对办公电脑中重要文件和数据的加密保护&#xff0c;以防数据泄露。这款软件通过采用透明加密技术&#xff0c;能够在不影响用户正常工作流程的前提下&#xff0c;对各类敏感信息进行自…

每天认识新职业——网络工程师

一、网络工程师是什么 网络工程师是通过学习和训练&#xff0c;掌握网络技术的理论知识和操作技能的网络技术人员。网络工程师能够从事计算机信息系统的设计、建设、运行和维护工作。相关职业&#xff1a;系统集成工程师、计算机硬件工程师职业其他名称&#xff1a;网络管理员、…

IO的阻塞和非阻塞浅析

在操作系统和网络编程中&#xff0c;IO&#xff08;输入/输出&#xff09;操作是一个非常重要的概念。 在处理IO的时候&#xff0c;阻塞和非阻塞都是同步IO。只有使用了特殊的API才是异步IO。 ——陈硕大神 网络IO层面 典型的一次IO的两个阶段是什么&#xff1f; 数据准备 和…

k8s介绍

一、前言 Kubernetes&#xff08;通常简称为 K8s&#xff09;是一个开源的容器编排平台&#xff0c;用于自动化部署、扩展和管理容器化应用程序&#xff0c;它提供了丰富的功能使得用户能够轻松地管理大规模的容器集群&#xff0c;包括自动化部署和扩展、服务发现和负载均衡、存…

落地领域大模型应知必会 (1) :主要微调方法总览

在如今高速发展的人工智能领域&#xff0c;高效地利用大语言模型&#xff08;LLMs&#xff09;已经变得越来越重要。但是&#xff0c;利用大语言模型的方式太多了&#xff0c;如果你才刚刚开始接触它&#xff0c;可能会感到不知所措。 实质上&#xff0c;我们可以通过两种主要…

中控系统智能化管理,多媒体展厅展示效果大升级!

在当今数字展厅设计的热潮中&#xff0c;多媒体互动理念已经崭露头角&#xff0c;成为各大企业竞相采纳的主流设计方式&#xff0c;它们通过集成的多媒体展示手段&#xff0c;为企业提供了一个全新的平台&#xff0c;来展现其形象、产品与服务&#xff0c;更通过互动的方式加深…

NSSCTF | [SWPUCTF 2021 新生赛]caidao

打开题目&#xff0c;只有一个图片&#xff0c;图片中间是一个一句话木马的一部分&#xff0c;意思是服务器可以执行通过POST的请求方式传入参数为wllm的命令&#xff0c;那这就是典型的命令执行&#xff0c;当然&#xff0c;也可以使用蚁剑或者菜刀连接这个木马 一句话木马的…

在Ubuntu 24.04 LTS (Noble Numbat)上安装nfs server以及nfs client

在Ubuntu 24.04 LTS (Noble Numbat)上,我使用的是最小化安装, 当然server版本的Ubuntu在安装的时候可能会有网络不通的问题,解决办法见如下文章: ubuntu 24.04 server 仅NAT模式上网设置静态IP设置-CSDN博客文章浏览阅读489次,点赞9次,收藏3次。在Ubuntu 24.04 上设置网…

Modbus TCP转CAN网关在不同行业中的应用以及其使用上的优势

倍讯科技Modbus TCP转CAN网关通常被用于工业自动化领域&#xff0c;特别是在需要连接现有Modbus TCP网络和CAN总线设备的场景中。以下是该网关在不同行业中的应用以及其使用上的优势&#xff1a; 1. 制造业&#xff1a; - 在制造业中&#xff0c;各种类型的设备和机器通常使用不…