在上章34.Linux-printk分析、使用printk调试驱动里讲述了: printk()会将打印信息存在内核的环形缓冲区log_buf[]里, 可以通过dmesg命令来查看log_buf[]
因为图片比较大,压缩的比较厉害,所以很多细节都看不清了,我单独传了一份到github上,想要原版图片的,可以点击下方的链接,来访问github:
实时打印的主要有:logcat main,logcat radio,logcat events,tcpdump,还有高通平台的还会有QXDM日志
本文主要服务于使用Tina软件平台的广大客户,帮助开发人员方便快速了解Tina平台系统调试工具。
Dalvik Debug Monitor Service ( Dalvik调试监控服务) ,可视化的图形界面调试监控工具。不同等级log信息显示的颜色不同,使用起来方便直观。ddms监控系统或应用日志、监控线程状态、VM使用状况(内存泄漏通过它来判断)、模拟短信电话事件、生成logcat日志、文件管理及截屏等功能。
适用范围: 本文适用于Tina3.5版本以上软件平台;对硬件环境没有要求,所有Allwinner硬件平台都适 用。 其中,注意linux-5.4内核上暂未支持pstore功能。
前言: 有的时候,看到panic了,但是最后一次访问的backtrace有点长,一个屏幕内的log非常短,刚好错过了关键的backtrace。。。 分析: 1,patch 作者写了一个patch,方便
pstore最初是用于系统发生oops或panic时,自动保存内核log buffer中的日志。不过在当前内核版本中,其已经支持了更多的功能,如保存console日志、ftrace消息和用户空间日志。同时,它还支持将这些消息保存在不同的存储设备中,如内存、块设备或mtd设备。 为了提高灵活性和可扩展性,pstore将以上功能分别抽象为前端和后端,其中像dmesg、console等为pstore提供数据的模块称为前端,而内存设备、块设备等用于存储数据的模块称为后端,pstore core则分别为它们提供相关的注册接口。
1. /proc目录 Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。
lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。
当Linux内核启动之后,运行的第一个进程是init,这个进程是一个守护进程,确切的说,它是Linux系统中用户控件的第一个进程,所以它的进程号是1。
前言: GuestOS中如果发生了一些错误,GuestOS还活着,shell已经hung住了,如何获取到GuestOS中的关键log信息呢? 分析: 1,keyboard interrupt QE
前言 Android 系统的日志分为两部分 底层的 Linux 内核日志输出到 /proc/kmsg Android 的日志输出到 /dev/log 语法格式 adb logcat [<option>] ... [<filter-spec>] ... 按优先级过滤日志 Android 的日志分为如下几个优先级 V —— Verbose(最低,输出得最多) D —— Debug I —— Info W —— Warning E —— Error F —— Fatal S —— Silent(最高,啥
当Linux计算机受到入侵时,常见的情况是日志文件被删除,以掩盖攻击者的踪迹。管理错误也可能导致意外删除重要的文件,比如在清理旧日志时,意外地删除了数据库的活动事务日志。有时可以通过lsof来恢复这些文件。 当进程打开了某个文件时,只要该进程保持,打开该文件,即使将其删除,它依然存在于磁盘中。这意味着,进程并不知道文件已经被删除,它仍然可以向打开该文件时提供给它的文件描述符进行读取和写入。除了该进程之外,这个文件是不可见的,因为已经删除了其相应的目录索引节点。 在/proc 目录下,其中包含了反映内核和进程
/proc文件系统是一种特殊的、由软件创建的文件系统,内核使用它向外界导出信息,/proc系统只存在内存当中,而不占用外存空间。
当Linux计算机受到入侵时,常见的情况是日志文件被删除,以掩盖攻击者的踪迹。管理错误也可能导致意外删除重要的文件,比如在清理旧日志时,意外地删除了数据库的活动事务日志。有时可以通过lsof来恢复这些文件。
如果有进程正在使用的文件,如果被误删了,可以找回。如果没有进程在使用,就无法找回被误删的文件了。
1.服务器端在centos6环境下默认版本为5.8.10,目前使用服务器端可以不用升级
NSPort有3个子类,NSSocketPort、NSMessagePort、NSMachPort,但在iOS下只有NSMachPort可用。
一、proc文件系统是什么? proc是一个伪文件系统,伪文件系统的定义: 它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。 我们常常用它来追踪进程的状态、内核的状态、内存信息、CPU使用率、系统启动时间(可以使用系统正常运行时间)等相应的信息; 二、proc文件系统详
Linux 用户态和内核态由于 CPU 权限的限制,通信并不像想象中的使用进程间通信方式那么简单,今天这篇文章就来看看 Linux 用户态和内核态究竟有哪些通信方式。
Android是基于Linux系统的,所以Android启动将由Linux Kernel启动并创建init进程。该进程是所有用户空间的鼻祖。
1,windows下第一次插入该猫的时候,会以一个usb外接存储设备显示出来,并且看上去是一个CD-ROM的Media设备,当在windows下安装完电信的拨号程序以后,这个CDROM的设备就不见了,然后打开windows的超级终端,会看到三个新的串口设备
cadvisor是一个谷歌开发的容器监控工具,它被内嵌到k8s中作为k8s的监控组件。现在将k8s中的cadvisor实现分析一下。
在Linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件
android的日志系统有典型的android层次结构。本文指出路径,分析层次但不分析代码,这里还介绍logcat的使用和log_bg服务。
判断启动部分,如果是ueventd,调用ueventd_main主函数,如果是watchdogd,调用watchdogd_main主函数.
frameworks/base/services/java/com/android/server/SystemServer.java - 函数run() —–> 调用函数startOtherServices() —–> 调用类SystemServiceManager的函数startService(),注册到SystemService列表
本文来讲述 SELinux 策略常用的语法,然后解读一下 SELinux 这个项目中给出的示例策略
1、根目录下的bin和sbin,usr目录下的bin和sbin,这四个目录都是用来保存系统命令的。 2、bin目录下的命令时任何用户都能执行,sbin目录下的命令只有超级用户才能执行。 3、media用来挂载光盘,misc挂载磁带机,mnt挂载U盘。它们都是空目录。 4、proc和sys目录不能直接操作,这两个目录保存的是内存挂载点。 5、可以在家目录root或home,以及tmp目录下随便放内容。
初始化高端内存线性地址中永久映射的全局变量.IMX6ULL这里的宏没开,所以这里应该是空
从内核timestamp 0.000000作为内核启动起点,到free_initmem()输出"Freeing init memory"作为内核启动的终点。
Linux内核提供了一种通过/proc文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。 用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。下面列出的这些文件或子文件夹,并不是都是在你的系统中存在,这取决于你的内核配置和装载的模块。另外,在/proc下还有三个很重要的目录:net,scsi和sys。 Sys目录是可写的,可以通过它来访问或修改内核的参数,而net和scsi则依赖于内核配置。例如,如果系统不支持scsi,scsi目录不存在。 除了以上介绍的这些,还有的是一些以数字命名的目录,它们是进程目录。系统中当前运行的每一个进程都有对应的一个目录在/proc下,以进程的 PID号为目录名,它们是读取进程信息的接口。而self目录则是读取进程本身的信息接口,是一个link。
说到多线程同步问题就不得不提多线程中的锁机制,多线程操作过程中往往多个线程是并发执行的,同一个资源可能被多个线程同时访问,造成资源抢夺,这个过程中如果没有锁机制往往会造成重大问题。比如常见的车票的销售问题。
最近也分析了一个高通wifi,bt 没用的问题, 注意分析过程中,高度和硬件或射频同事保持密切联系,多去骚扰他们。 因为,高通wifi/bt 相关的,只要硬件及高通固件没问题,基本不会出现无功能的问题。
Linux 下的 /proc 文件系统中提供了许多有用的信息,除了基本的CPU使用率、版本号等,你甚至还可以在这里直接看到内核的输出。下面这张表,简单列举 /proc 中文件的含义:
一些嵌入式设备,一般都会留有调试串口,经由RS232/485标准与PC的COM口相连,将打印输出在PC上显示,并可以接收PC端的输入,如下图所示:
Android 系统的日志分为两部分,底层的 Linux 内核日志输出到 /proc/kmsg,Android 的日志输出到 /dev/log。
机器的根目录太小,可清东西不多,查到/run/log/journal 以字符为名字的目录下有很多日志:
大家好,天我们要聊聊的是 cAdvisor。cAdvisor,全称 Container Advisor,是由 Google 开发并开源的一款用于监控和分析容器性能的工具。它的主要功能包括实时收集、处理和提供容器的资源使用情况和性能特性。它支持 Docker 容器,并且可以在任何 Linux 主机上运行。
Procfs 是进程文件系统的缩写,包含一个伪文件系统(启动时动态生成的文件系统),用于通过内核访问进程信息。linux这个文件系统通常被挂载到 /proc 目录。
Android OS由3层组成,最底层是Kernel,上面是Native bin/lib,最上层是Java层:
proc文件系统是一个虚拟文件系统,它存储了当前内核运行状态相关文件,并且文件的内容都是动态创建的。用户可以通过查看这些文件获取系统状态以及当前正在运行的进程信息。而通过了解这些信息,能够帮助我们帮助我们定位疑难问题。本文将简单介绍通过proc文件系统能够获取哪些有用的信息。
廖威雄,就职于珠海全志科技股份有限公司,负责Linux IO全栈研发、性能优化、开源社区开发交流、Linux 内核开源社区pstore/blk,mtdpstore模块的作者、大客户存储技术支持、全志首个UBI存储方案主导人、全志首个RTOS NFTL主导人
pstore文件系统(是的,这是个文件系统)是Persistent Storage的缩写,最早在2010年由 Tony Luck 设计并合入Linux主分支,设计的初衷是在内核Panic/Oops时能自动转存内核日志(log_buf),在Panic重启后,把转存的日志以文件形式呈现到用户空间以分析内核崩溃问题。
dmesg 命令用于检查和控制内核的环形缓冲区。Kernel 会将开机信息存储在 ring buffer 中,我们可以从中获得诸如系统架构、CPU、挂载的硬件,RAM 等多个运行级别的大量的系统信息。可利用 dmesg 来查看系统的启动信息。开机信息也会保存在 /var/log/dmesg。
踏上 Linux 内核世界的探险将成为您职业生涯的一段迷人旅程。作为操作系统之心的 Linux 内核涵盖众多领域,如操作系统原理、硬件抽象以及驱动开发等。在这篇文章中,我们将一探 Linux 内核的奥秘,并为具备编程基础的技术人员提供一处学习起点。
3.cat /etc/issue 或cat /etc/redhat-release(Linux查看版本当前操作系统发行版信息)
领取专属 10元无门槛券
手把手带您无忧上云