/proc/sys/kernel/printk 打印级别修改 [问题点数:40分]

Bbs1
本版专家分:10
结帖率 75%
Bbs1
本版专家分:10
Bbs1
本版专家分:10
Bbs1
本版专家分:0
Bbs1
本版专家分:50
Bbs2
本版专家分:213
Bbs1
本版专家分:65
Bbs7
本版专家分:21428
Blank
红花 2017年12月 Linux/Unix社区大版内专家分月排行榜第一
2015年9月 Linux/Unix社区大版内专家分月排行榜第一
2015年4月 Linux/Unix社区大版内专家分月排行榜第一
2015年2月 Linux/Unix社区大版内专家分月排行榜第一
2015年1月 Linux/Unix社区大版内专家分月排行榜第一
2014年6月 Linux/Unix社区大版内专家分月排行榜第一
Blank
黄花 2015年3月 Linux/Unix社区大版内专家分月排行榜第二
2014年12月 Linux/Unix社区大版内专家分月排行榜第二
2014年11月 Linux/Unix社区大版内专家分月排行榜第二
2014年9月 Linux/Unix社区大版内专家分月排行榜第二
2014年8月 Linux/Unix社区大版内专家分月排行榜第二
2014年7月 Linux/Unix社区大版内专家分月排行榜第二
2014年5月 Linux/Unix社区大版内专家分月排行榜第二
2014年4月 Linux/Unix社区大版内专家分月排行榜第二
Blank
蓝花 2014年3月 Linux/Unix社区大版内专家分月排行榜第三
Bbs1
本版专家分:0
Bbs1
本版专家分:0
最简单修改printk打印等级
1、查看当前<em>打印</em><em>级别</em>   #  cat /<em>proc</em>/<em>sys</em>/<em>kernel</em>/<em>printk</em>  默认为:4    4    1    7  注释:第一个'4' 是内核函数<em>printk</em>的<em>打印</em><em>级别</em>,             只有大于或等于4<em>级别</em>时,log在能在屏幕上<em>打印</em>;             <em>级别</em>小于4的时候,log写在日志文件中,可以通过adb shell dmesg查看。
调整内核printk打印级别(启动脚本中运行 echo 0       4       0      7 > /proc/sys/kernel/printk 关闭所有内核打印)
有时调试内核模块,<em>打印</em>信息太多了,可以通过<em>修改</em>/<em>proc</em>/<em>sys</em>/<em>kernel</em>/<em>printk</em>文件内容来控制。 默认设置是7   4   1   7 # cat /<em>proc</em>/<em>sys</em>/<em>kernel</em>/<em>printk</em> 7       4       1      7 该文件有四个数字值,它们根据日志记录消息的重要性,定义将其发送到何处。关于不同日志<em>级别</em>的更多信息,请查阅<em>sys</em>log(2)联机帮助。上...
调整内核printk打印级别--减少启动时的打印信息
有时调试内核模块,<em>打印</em>信息太多了,可以通过<em>修改</em>/<em>proc</em>/<em>sys</em>/<em>kernel</em>/<em>printk</em>文件内容来控制。默认设置是6   4   1   7 # cat /<em>proc</em>/<em>sys</em>/<em>kernel</em>/<em>printk</em> 7       4       1      7 该文件有四个数字值,它们根据日志记录消息的重要性,定义将其发送到何处。关于不同日志<em>级别</em>的更多信息,请查阅<em>sys</em>log(2)联机
printk小结
1 <em>printk</em> 消息<em>级别</em>定义 #define KERN_EMERG ""   /*紧急事件,一般是系统崩溃之前的提示消息*/ #define KERN_ALERT  ""  /*必须立即采取行动*/ #define KERN_CRIT  ""   /*临界状态,通常涉及严重的硬件或者软件操作失败*/ #define KERN_ERR  ""  /*用于报告错误状态,设备驱动会经常使用KE
更改printk打印级别
1、查看当前控制台的<em>打印</em><em>级别</em>  cat /<em>proc</em>/<em>sys</em>/<em>kernel</em>/<em>printk</em>  4    4    1    7  其中第一个“4”表示内核<em>打印</em>函数<em>printk</em>的<em>打印</em><em>级别</em>,只有<em>级别</em>比他高的信息才能在控制台上<em>打印</em>出来,既 0-3<em>级别</em>的信息 2、<em>修改</em><em>打印</em>  echo "新的<em>打印</em><em>级别</em>  4    1    7" >/<em>proc</em>/<em>sys</em>/<em>kernel</em>/<em>printk</em> 3、不够<em>打印</em>
Android--Linux kernel log级别修改
在我们开发过程中,内核的信息一开机就会很多,然后一直打个不停,很烦人,也不好看调试信息,更不好在串口终端输入相关的命令进行调试。那么有什么办法可以解决?1、在<em>kernel</em>中<em>修改</em>log默认等级,<em>kernel</em>-3.18/include/linux/<em>printk</em>.h         static inline void console_verbose(void)函数中的    console_logle
android 修改默认logcat打印级别
软件版本:Android6.0 硬件平台:MTK6797       关于系统默认的日志<em>级别</em>问题,涉及到了一个系统属性,就是persist.log.tag,那么这个属性是在哪里初始化定义的呢? 在mtk源码的vendor/mediatek/proprietary/external/libxlog/xlogcmd目录的xlog.c文件中,初始化部分如下: #define LOGD_FILT...
Linux内核中printk与日志级别
     函数<em>printk</em>的使用方法和printf相似,用于内核<em>打印</em>消息。<em>printk</em>根据日志<em>级别</em>(loglevel)对消息进行分类。日志<em>级别</em>用宏定义,日志<em>级别</em>宏展开为一个字符串,在编译时由预处理器将它和消息文本拼接成一个字符串,因此<em>printk</em> 函数中日志<em>级别</em>宏和格式字符串间不能有逗号。   下面是两个<em>printk</em>的例子,一个用于<em>打印</em>调试信息,另一个用于<em>打印</em>临界条件信息。
linux下更改printk打印级别和优先级
1.查看当前控制台日志信息的<em>打印</em><em>级别</em>: $ cat /<em>proc</em>/<em>sys</em>/<em>kernel</em>/<em>printk</em> 4 4 1 7 分别对应:当前的日志<em>级别</em>、未明确指定日志<em>级别</em>时默认消息<em>级别</em>、最小允许的日志<em>级别</em>、引导是的默认日志<em>级别</em>。 2.若需要需改当前的日志<em>打印</em>日志<em>级别</em>为7,则<em>修改</em><em>打印</em>的命令如下: echo 7 > /<em>proc</em>/<em>sys</em>/<em>kernel</em>/<em>printk</em>
限制printk打印频率函数printk_ratelimit
在Linux内核代码里当需要限制<em>printk</em><em>打印</em>频率时会用到<em>printk</em>_ratelimit或__ratelimit
linux内核中printk打印级别
内核中预定义的内核log等级 // include/linux/kern_levels.h #define KERN_SOH &quot;\001&quot; /* ASCII Start Of Header */ #define KERN_SOH_ASCII '\001' #define KERN_EMERG KERN_SOH &quot;0&quot; /* <em>sys</em>tem is unusable */...
ubuntu中printk终端无打印的问题
<em>printk</em><em>打印</em>的是控制台,也就是/dev/console。而图形界面中的终端,其实是把stdin,stdout,stderr三个文件重定向了一下。所以<em>printk</em>是无法再图形界面中的终端中显示的,当然可以再/var/log/<em>sys</em>log或者用dmesg查看。 在嵌入式设备中,其中初始化的时候把stdin,stdout,stderr均定向到了/dev/console中(main.c中的init_
LINUX系统以及ANDROID 平台log信息输出级别设置 [MTK]
一、LK层:首先,在LK中,有一个对log<em>打印</em><em>级别</em>的控制文档,其路径一般为:vendor\mediatek\proprietary\bootable\bootloader\lk\include\debug.h(以mtk平台为例)在include\debug.h重要代码为://下面做个判断:意思是如果makefile(相应的平台mk文件) 定义了DEBUG的值,就是用它,否则默认为2等级//在boo
全志A33-linux内核early_printk分析及使用
      分析Linux内核启动流程时可以知道,在调用setup_arch函数之前就已经调用过<em>printk</em>函数了,但是这个时候的<em>printk</em>函数只是将<em>打印</em>信息放在缓存区中,并没有<em>打印</em>到控制台上,因为这个时候控制台还没有被初始化。       只有在start_<em>kernel</em>函数中的console_init函数被调用后,控制台才会被注册、初始化,<em>printk</em>函数<em>打印</em>的内容才会被真正地输出到屏幕上。...
如何修改和开启kernel打印级别
http://blog.csdn.net/acs713/article/details/8584600 可通过读写/<em>proc</em>/<em>sys</em>/<em>kernel</em>/<em>printk</em>文件可读取和<em>修改</em>控制台的日志<em>级别</em>。查看这个文件的方法如下:  #cat /<em>proc</em>/<em>sys</em>/<em>kernel</em>/<em>printk</em> 6 4 1 7       上面显示的4个数据分别对应控制台日志<em>级别</em>、默认的消息日志<em>级别</em>、最低的控制台日志<em>级别</em>和默认的控...
全志A33-修改linux kernel启动参数
开发板:A33,运行linux-3.4.39 主机:Ubuntu 14.04 ----------------------------------------------     1. <em>修改</em><em>kernel</em>启动参数的几种方式 1)make menuconfig里<em>修改</em>“General Setup”子菜单中的“Default <em>kernel</em> command string” 选项,通过<em>修改</em>这个选项...
内核通用打印信息
<em>printk</em>用法 1,定义 //static u32 debug_mask = 0; static u32 debug_mask = DEBUG_INIT \ | DEBUG_SUSPEND \ | DEBUG_INT_INFO \ | DE
Linux中的Printk与dmesg功能(模块编译,printk无法打印信息)
要将linux内核的带<em>级别</em>控制的<em>printk</em>内容<em>打印</em>出来,在命令行输入 dmesg -n 8 就将所有<em>级别</em>的信息都<em>打印</em>出来。 Linux命令:dmesg  功能说明:显示开机信息。   语 法:dmesg [-cn][-s ]   补充说明:<em>kernel</em>会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名
kptr_restrict 向用户空间内核中的指针(/proc/kallsyms-modules显示value全部为0)
CSDN GitHub kptr_restrict 向用户空间内核中的指针(/<em>proc</em>/kallsyms-modules显示value全部为0) LinuxDeviceDrivers/study/debug/file<em>sys</em>tem/<em>proc</em>fs/kptr_restrict 本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可, 转载请注明出处, 谢谢合作因本人技术
Linux内核log等级与printk打印消息控制
Linux预定义的内核log等级与<em>printk</em><em>打印</em>消息控制
linux内核打印的各种设置-----printk
make menuconfig - Kernel hacking show timing information on <em>printk</em>s
printk函数日志级别的设置
下面执行cat /<em>proc</em>/<em>sys</em>/<em>kernel</em>/<em>printk</em> <em>打印</em>出的四个数字分别代表: 控制台日志<em>级别</em>、默认的消息日志<em>级别</em>、最低的控制台日志<em>级别</em>和默认的控制台日志<em>级别</em> 只有当<em>printk</em>的日志<em>级别</em>小于console_loglevel时,消息才能显示出来。 以下为查看和设置<em>printk</em>函数的日志<em>级别</em>
early_printk使用方法
(一)知识背景: [color=Red]Uncompressing Linux... done, booting the <em>kernel</em>. ------------setup_arch------------ ------------setup_machine_fdt return 0------------ Machine: MCUOS6410[/color]
printk打印不能显示到终端的解决方法
<em>printk</em>与printf有个不同的地方,就是<em>printk</em>有<em>打印</em><em>级别</em> 使用<em>printk</em>时,Linux内核根据日志<em>级别</em>,可能把消息<em>打印</em>到当前控制台上,这个控制台是一个字符设备。这些消息从终端输出的前提是日志输出<em>级别</em>小于console_loglevel。(越小<em>级别</em>越高) 日志<em>级别</em>有八个:0-7 通过读写/<em>proc</em>/<em>sys</em>/<em>kernel</em>/<em>printk</em>文件可以读取、<em>修改</em>控制台的日志<em>级别</em>。 查看这个
printk的用法
<em>printk</em>的用法 内核通过 <em>printk</em>() 输出的信息具有日志<em>级别</em>,日志<em>级别</em>是通过在 <em>printk</em>() 输出的字符串前加一个带尖括号的整数来控制的,如 <em>printk</em>("Hello, world!\n");。内核中共提供了八种不同的日志<em>级别</em>,在 linux/<em>kernel</em>.h 中有相应的宏对应。 #define KERN_EMERG   ""   /* <em>sys</em>tem is unusable
要将linux内核的带级别控制的printk内容打印出来,在命令行 输入 dmesg -n 8 就将所有级别的信息都打印出来
要将linux内核的带<em>级别</em>控制的<em>printk</em>内容<em>打印</em>出来,在命令行 输入 dmesg -n 8 就将所有<em>级别</em>的信息都<em>打印</em>出来 Linux命令:dmesg  功能说明:显示开机信息。  语 法:dmesg [-cn][-s ]  补充说明:<em>kernel</em>会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中
内核打印函数介绍
在驱动中,有很多<em>打印</em>信息,有些是默认不能打开的,如dev_dbg或dev_vdbg等,为了方便调试,需要将这些<em>打印</em>信息全部<em>打印</em>出来,可通过如下步骤来打开开关。 我们先来看<em>printk</em>的<em>打印</em>控制 asmlinkage int <em>printk</em>(const char *fmt, ...) { r = v<em>printk</em>_emit(0, -1, NULL, 0, fmt, args); } asml
printk打印log过多会导致performance下降
当遇到performance导致的各类问题时,例如卡音,冻屏,甚至是modem assert,可以先查看<em>kernel</em> log是否有发现连续大量调用<em>printk</em><em>打印</em>太多log,此时,很有可能是因为客戶添加<em>printk</em><em>打印</em>的log过多导致的问题! 遇到这种情况时,可先尝试在user版本上看是否复现,如果不复现,一般会采取在ENG版本上开机加入Launcher之后关闭UART Log。进入
Linux内核pr_debug的应用及log级别控制原理简析
调试环境------ CPU:freescale i.mx6 操作系统:Linux 内核版本号:3.0.35   最近在调试一个spi nor flash芯片的时候用到了gpio倒出的功能,就是可以在linux起来以后,通过串口倒出,并可以控制输入输出方向和高低电平的一种功能。配置好对应的pin后发现怎么都不能在/<em>sys</em>/class/gpio的目录下生成相应的接口目录,我要倒出的GPIO是
/proc虚拟文件系统与系统内核参数修改方法
/<em>proc</em> 虚拟文件系统用作查看和配置系统内核参数的接口。/<em>proc</em> 是一个层次结构的目录其中包含了 系统内核的当前设置值。之所以称为/<em>proc</em> 是因为该虚拟文件系统通常发送信息给别的操作系统进程。 虚拟文件系统不会实际的存在于磁盘中。/<em>proc</em> 虚拟文件在内存中动态的根据内核参数创建。使用  man <em>proc</em> 可以查看到很多与 /<em>proc</em> 虚拟文件系统相关的信息。可以使用 cat,less
关于kernel log level的基础知识
<em>kernel</em>中用<em>printk</em>来<em>打印</em>debug信息,关于<em>printk</em>有一个level的定义。 3.10.40\include\linux\kern_levels.h #define KERN_EMERG KERN_SOH "0" /* <em>sys</em>tem is unusable */ #define KERN_ALERT KERN_SOH "1" /* action must b
通过sysrq打印linux内核信息
我们知道命令hang,一般问题都出在内核里, 如果我们能根据自己的需要<em>打印</em>内核的信息,可能会事半功倍,很快定位到问题。幸运的是linux真的有提供这样的方式,就是通过SysRq,今天在这里我就介绍一下。
如何修改内核打印级别
手动调整内核<em>printk</em><em>打印</em><em>级别</em> 有时调试内核模块,<em>打印</em>信息太多了,可以通过<em>修改</em>/<em>proc</em>/<em>sys</em>/<em>kernel</em>/<em>printk</em>文件内容来控制。默认设置是6 4 1 7 # cat /<em>proc</em>/<em>sys</em>/<em>kernel</em>/<em>printk</em> 7 4 1 7 # 该文件有四个数字值,它们根据日志记录消息的重要性,定义将其发送到何处。关于不同日志<em>级别</em>的更多信息,请查阅<em>sys</em>log(2)联机帮助。上面显示的4个数据...
printk打印级别输出
内核的<em>打印</em>函数和用户空间的<em>打印</em>函数是相同的,只是关键字不太一样,内核是<em>printk</em>,而用户空间则是printf。 在内核空间只不过有一个<em>打印</em><em>级别</em>的设置,所谓的<em>打印</em><em>级别</em>不过是几个宏定义 <em>printk</em>的<em>打印</em><em>级别</em>一共有8个<em>级别</em>:数字越小说明<em>打印</em><em>级别</em>越高 #define KERN_EMERG        "" /* <em>sys</em>tem is unusable */ #define KERN_ALERT
修改/proc/sys/kernel/sem,但保存的时候保存不了,报错:Fsync failed
这是VI的问题 用vi编辑一个文件的时候,vi首先为这个文件创建一个副本,这个副本通常命名为 .your_file_name.swp 当结束编辑,选择保存的时候,vi用这个副本文件替换掉原文件。 <em>proc</em>文件系统下的文件都是内存中的影像,显然不支持此种编辑方式。   <em>修改</em>办法 echo value
linux内核打印级别问题
函数<em>printk</em>的使用方法和printf相似,用于内核<em>打印</em>消息。<em>printk</em>根据日志<em>级别</em>(loglevel)对消息进行分类。日志<em>级别</em>用宏定义,日志<em>级别</em>宏展开为一个字符串,在编译时由预处理器将它和消息文本拼接成一个字符串,因此<em>printk</em> 函数中日志<em>级别</em>宏和格式字符串间不能有逗号。    下面是两个<em>printk</em>的例子,一个用于<em>打印</em>调试信息,另一个用于<em>打印</em>临界条件信息。 pri
linux 进程的最大线程个数
1. 可以通过下面的方法查到: cat /<em>proc</em>/<em>sys</em>/<em>kernel</em>/threads-max 15882 另外,一个进程实际的线程个数,可以从 /<em>proc</em>/{PID}/status里得出: /<em>proc</em>/544#cat status Name: kpsmoused State: S (sleeping) Tgid: 544 Pid: 544 PPid: 2 TracerPid: 0
如何查看Linux内核中printk打印的信息?
在内核编程只能使用<em>printk</em>而不能使用printf,那我们如何才能查看到我们用<em>printk</em>输出的信息呢? 答案就是在shell中使用dmesg指令!!
控制Linux kernel启动console的打印级别
注:代码来自内核版本2.6.36 在Build <em>kernel</em>时,在CONFIG_CMDLINE宏中设定<em>级别</em>: CONFIG_CMDLINE="debug|quiet|loglevel=5",这个宏会在<em>kernel</em>启动时作为默认配置参数。 debug表示loglevel=10 quiet表示loglevel=10 loglevel=5表示loglevel=5 处理log级
【Linux内核】Ubuntu下printk函数无法在终端显示
在Ubuntu下使用insmod安装模块的时候,发现预设的调试信息并没有输出,但是使用dmesg命令可以看到在日志中确实有调试信息,下面分析一下可能的情况。 <em>printk</em>信息的输出去向这是在内核的命令行参数console=ttyXXX里指定死了,比如console=tty1表示<em>printk</em>的信息输出到终端1。如果是这种情况,你需要使用Ctrl+Alt+(F1-F6)来切换终端。日志输出<em>级别</em>过低用pr
Linux内核调度器 CFS调优
echo 10000000 > /<em>proc</em>/<em>sys</em>/<em>kernel</em>/sched_min_granularity_ns echo 15000000 > /<em>proc</em>/<em>sys</em>/<em>kernel</em>/sched_wakeup_granularity_ns echo 10 > /<em>proc</em>/<em>sys</em>/<em>kernel</em>/sched_nr_migrate echo 1000000 > /<em>proc</em>/<em>sys</em>/<em>kernel</em>/sc
linux下关闭printk打印信息以及通过网络查看方法
我们在linux底层驱动或者<em>kernel</em>中调用的<em>printk</em>函数其作用是将<em>printk</em>的内容输出到控制台,但<em>printk</em>实质是将需要输出的内容写入底层环形输出数据缓冲区,linux根据控制将数据输出到控制台; 基于此,我们可以在linux系统下手动关闭<em>printk</em>的信息输出到控制台(目的是即需要输出信息,但又不想通过频繁的串口输出中断输出到控制台,频繁串口中断将影响其他驱动实时性要求),此时使用
/proc/sys目录下各文件参数说明
一、前言 本文档针对OOP8生产环境,具体优化策略需要根据实际情况进行调整;本文档将在以下几个方面来阐述如何针对RedHat Enterprise Linux进行性能优化。 1)      Linux Proc文件系统,通过对Proc文件系统进行调整,达到性能优化的目的。 2)      Linux性能诊断工具,介绍如何使用Linux自带的诊断工具进行性能诊断。 加粗斜体表示可以直接运行的
Linux内核参数配置文件修改(/proc/sys与/etc/sysctl.conf变量对应关系)
Linux在系统运行时<em>修改</em>内核参数(/<em>proc</em>/<em>sys</em>与/etc/<em>sys</em>ctl.conf),而不需要重新引导系统,这个功能是通过/<em>proc</em>虚拟文件系统实现的。 在/<em>proc</em>/<em>sys</em>目录下存放着大多数的内核参数,并且设计成可以在系统运行的同时进行更改, 可以通过更改/<em>proc</em>/<em>sys</em>中内核参数对应的文件达到<em>修改</em>内核参数的目的(<em>修改</em>过后,保存配置文件就马上自动生效),不过重新启动机器后之前<em>修改</em>的参数
linux进程内存布局--randomize_va_space
内存管理是操作系统的核心之一,最近在研究内核的内存管理以及 C 运行时库对内存的分配和管理,涉及到进程在内存的布局,在此对进程的内存布局做一下总结:   1. 32 位模式下的 linux 内存布局 图上的各个部分描述得比较清楚,不需再做过多的描述。从上图可以看到,栈至顶向下扩展,并且栈是有界的。堆至底向上扩展, mmap 映射区域至顶向下扩展, mmap 映射区域和堆相
修改Linux内核的printk缓冲区(log缓冲区)大小
我们可以用<em>printk</em><em>打印</em><em>kernel</em>的日志信息(即log信息),根据时间戳可以判断内核新<em>打印</em>的log会覆盖掉以前<em>打印</em>的log。原因是内核用环形缓冲区存放<em>打印</em>的log信息。那么如何增大缓冲区的大小呢? 我们看<em>kernel</em>/<em>printk</em>.c的代码 /* record buffer */ #define LOG_ALIGN __alignof__(struct <em>printk</em>_log) #defin
kernel.sem 参数设置
参考: http://yusy1116.blog.163.com/blog/static/6467259220106821116449/ http://blog.csdn.net/leshami/article/details/8766256   sem其实是semaphores的缩写,查看当前设置 [oracle@test oracle]$ cat /<em>proc</em>/<em>sys</em>/<em>kernel</em>/s
perf_event_open 设置性能监视
#include linux/perf_event.h> #include int perf_event_open(struct perf_event_attr *attr,pid_t pid, int cpu, int group_fd, unsigned long flags); 功能: 给定一个参数列表,perf_event_open()返回一
eclipse调试postgre遇到的问题以及解决方法
最近在ubuntu上搭建了一个postgres的调试开发环境,详情请见http://wiki.postgresql.org/wiki/Working_with_Eclipse。 ubuntu的版本为12.04 结果在用eclipse调试postgres的子进程postgres的时候遇到了如下问题: Could not attach to <em>proc</em>ess.  If your uid matche
如何调整内核printk打印log级别
有时调试内核模块,<em>打印</em>信息太多了,可以通过<em>修改</em>/<em>proc</em>/<em>sys</em>/<em>kernel</em>/<em>printk</em>文件内容来控制。 默认设置是7 4 1 7 # cat /<em>proc</em>/<em>sys</em>/<em>kernel</em>/<em>printk</em> 7 4 1 7 该文件有四个数字值,它们根据日志记录消息的重要性,定义将其发送到何处。关于不同日志<em>级别</em>的更多信息,请谷歌一下。上面显示的4个数据分别对应: 控制台日志<em>级别</em>:优先级高于该值的消息将被<em>打印</em>至控...
如何修改安卓默认调试等级以及串口输出
一、前言        一般linux是通过<em>printk</em>来输出调试信息的,而输出的端口设置成串口0,配置的地方是在linux内核的cmdline。 可是这种<em>修改</em>方式并不适用于全志平台,<em>修改</em>完linux内核的cmdline后,再烧录到开发板,利用命令“cat /<em>proc</em>/cmdline”查看,发现并没有改变。 shell@tulip-t1:/ # cat /<em>proc</em>/cmdline
printk 打印级别学习
查看当前控制台的<em>打印</em><em>级别</em> cat /<em>proc</em>/<em>sys</em>/<em>kernel</em>/<em>printk</em> 4 4 1 7 其中第一个“4”表示内核<em>打印</em>函数<em>printk</em>的<em>打印</em><em>级别</em>,只有<em>级别</em>比他高的信息才能在控制台上<em>打印</em>出来,既 0-3<em>级别</em>的信息 <em>修改</em><em>打印</em> echo “新的<em>打印</em><em>级别</em> 4 1 7” &amp;gt;/<em>proc</em>/<em>sys</em>/<em>kernel</em>/<em>printk</em> 不够<em>打印</em><em>级别</em>的信息会被写到日志中...
printk_time 中时间戳的获取
可以在用prink打的log前面加上时间戳,但这个时间戳是怎么得到的呢? 我们知道<em>printk</em>-> v<em>printk</em>_emit 1608 asmlinkage int v<em>printk</em>_emit(int facility, int level, 1609                             const char *dict, size_t dictlen, 1610    
控制Linux内核启动中的打印
如果正常配置了输入输出终端,则内核启动过程中会将很多信息输出到控制台上。这些信息中有些表示严重错误,有些只是一般的提示信息。 在平台成熟后,继续保留这些信息既不美观,也会影响启动速度(串口的波特率很低)。因此要尽量屏蔽不重要的信息。这需要对内核进行一些改造。
printk:内核中打印函数的使用
内核中<em>打印</em>函数的使用     <em>printk</em>(<em>打印</em><em>级别</em> “格式化输出”,...);     <em>printk</em>(“格式化输出”,...);  <em>打印</em><em>级别</em>:       #define KERN_EMERG        &quot;&amp;lt;0&amp;gt;&quot;    /* <em>sys</em>tem is unusable                    */     #define KERN_ALERT          &quot;&amp;...
几个调度器参数说明:
1. /<em>proc</em>/<em>sys</em>/<em>kernel</em>/sched_short_sleep_ns 调度器在任务运行短暂峰值时总是试图避免唤醒idle cpu。 如果任务平均峰值小于<em>sys</em>ctl_sched_short_burst纳秒,并且睡眠 平均时间大于<em>sys</em>ctl_sched_short_sleep纳秒,那么此任务倾向被打包。 提高这个值会导致任务更频繁被打包,有利于功耗,但是会损害性
关于"Neighbour table overflow“的异常分析及解决方案
关于"Neighbour table overflow“的错误分析及解决方案   这几天在查看日志文件时,出现 "Neighbour table overflow"的邻表溢出问题,网上查看资料后去顶是arp表出现问题了,   以下是 option=com_content&task=view&id=333&Itemid=49的问题。 How to resolve "Ne
内核调试trace的方法
Ftrace目录/<em>sys</em>/<em>kernel</em>/debug/tracing/events/timer/tick_stop/使用filer过滤输出TRACE代码目录<em>kernel</em>-rt-3.10.0-thinkcloud/include/trace/eventsPerf使用说明目录<em>kernel</em>-rt-3.10.0-thinkcloud/tools/perf/Documentation./perf list查看...
【驱动】内核打印级别设置
在uboot中设置setenv loglevel 'loglevel=8' setenv loglevel debug setenv loglevel quiet setenv loglevel setenv mmcargs 'run set_disp; setenv bootargs console=${console},${baudrate} ${loglevel} ${smp} root=${
内核调试常会打印 文件名 函数名 行号
<em>printk</em>("%s %s %d \n",__FILE__,__FUNCTION__,__LINE__);
MTK平台打开uart默认输出log
先看下MTK提供的FAQ,针对不同的版本<em>修改</em>方法,但是没有5.0以上 [Description] 如何在User版本开启串口(Uart),开启输入控制台,抓取上层Log   [Keyword] User Uart Log Logcat 输入 控制台 串口   [Solution] (1) 如何在User版本中使用串口(Uart)  *Android GB 2.3 GB.MP GB
linux 进程数最大值修改
实际的系统进程数上限收到3个配置项的影响: 1、threads-max (/<em>proc</em>/<em>sys</em>/<em>kernel</em>/threads_max) 这个值表示物理内存决定的系统进程数上限,fork_init中有: max_threads = mempages / (THREAD_SIZE/PAGE_SIZE) / 8 2、pid_max (/<em>proc</em>/<em>sys</em>/<em>kernel</em>/p
非root不能gdb attach的限制
Could not attach to <em>proc</em>ess.  If your uid matches the uid of the target <em>proc</em>ess, check the setting of /<em>proc</em>/<em>sys</em>/<em>kernel</em>/yama/ptrace_scope, or try again as the root user.  For more details, see /etc/s
kernel起来后如果查看device tree的信息
bootloader和<em>kernel</em> 之间如果通过devicetree来传递参数的话,系统起来后,可以在cd /<em>proc</em>/device-tree 查看device tree中的具体内容,可见<em>proc</em>/device-tree 是链接到<em>sys</em>/firmware/devicetree/base的。 <em>sys</em>/firmware/devicetree/base$ ls #address-cells     
Linux内核printk日志输出控制
From: http://blog.csdn.net/zhenwenxian/article/details/4336211 要将linux内核的带<em>级别</em>控制的<em>printk</em>内容<em>打印</em>出来,在命令行 输入 dmesg -n 8 就将所有<em>级别</em>的信息都<em>打印</em>出来   Linux命令:dmesg  功能说明:显示开机信息。   语 法:dmesg [-cn][-s ]   补充说明
Linux 驱动 Printk 在终端没有输出
下面是控制台日志<em>级别</em>的一些简要的介绍  控制台相应的日志<em>级别</em>定义如下:  #define MINIMUM_CONSOLE_LOGLEVEL  1   /*可以使用的最小日志<em>级别</em>*/  #define DEFAULT_CONSOLE_LOGLEVEL  7 /*比KERN_DEBUG 更重要的消息都被<em>打印</em>*/   int console_<em>printk</em>[4] = {  DEFAULT_CO
如何修改linux的hostname
hostname是什么 故名思议,hostname就是linux的主机名 无论在局域网还是公网上,每台主机都有一个IP地址,IP地址就是主机的门牌号。但是IP地址不方便记忆,所以有了域名。而域名只是在公网中存在,每个域名都对应一个IP地址,但一个IP地址可有对应多个域名。 同样,在局域网中,每台机器都有一个主机名,用于相互之间互相访问。主机名就相当于公网上的域名 如何<em>修改</em>h...
android内核打印
1、cat  /<em>proc</em>/kmsg 2、cat /<em>proc</em>/<em>sys</em>/<em>kernel</em>/<em>printk</em> 3、
printk时间戳
    内核使用<em>printk</em><em>打印</em>出这句log: [ 1463.495062] [5:11331:Binder:1385_1A] [log] 前面的时间戳1463.495062表示1463s+495062us   内核对<em>printk</em>时间戳进行如何处理请看源码 static size_t print_time(u64 ts, char *buf) {     unsigned long rem...
驱动调试之printk的原理
1、启动开发板进入uboot 输入print命令<em>打印</em>环境变量 2、启动参数(上面bootargs部分) uboot的目的是启动内核,启动内核前要设置一些参数,<em>修改</em>启动参数不添加console=ttySAC0(内核<em>打印</em>信息显示的地方) 没有内核的任何<em>打印</em>信息出来 uboot设置参数,console=ttySAC0,这里0表示第1个串口,用tty1<em>打印</em>到LCD
linux内核打印数据到串口控制台,printk数据不打印问题
转载地址:https://www.cnblogs.com/wmx-learn/p/5344821.html1、查看当前控制台的<em>打印</em><em>级别</em> cat /<em>proc</em>/<em>sys</em>/<em>kernel</em>/<em>printk</em> 4    4    1    7 其中第一个“4”表示内核<em>打印</em>函数<em>printk</em>的<em>打印</em><em>级别</em>,只有<em>级别</em>比他高的信息才能在控制台上<em>打印</em>出来,既 0-3<em>级别</em>的信息2、<em>修改</em><em>打印</em> echo &quot;新的<em>打印</em><em>级别</em>  4    1...
Linux内核调试技术——进程D状态死锁检测
Linux的进程有一种状态等待为TASK_UNINTERRUPTIBLE,称为D状态,该种状态下进程不接收信号,只能通过wake_up唤醒。处于这种状态的情况有很多,例如mutex锁就可能会设置进程于该状态,有时候进程在等待某种IO资源就绪时(wait_event机制)会设置进程进入该状态。一般情况下,进程处于该状态的时间不会太久,但若IO设备出现故障或者出现进程死锁等情况,进程就可能长期处于该状态而无法再返回到TASK_RUNNING态。因此,内核为了便于发现这类情况设计出了hung task机制专门用于
c/c++ 程序调试方法
总结一下工作中用到的程序调试方法
linux下的两种层次的控制台及打印级别
在嵌入式调试过程中查看各种log是十分重要的,而串口控制终端能够显示内核log,但是通过网络或adb shell连接的控制台只能显示用户空间的log,这两种控制台有什么区别呢?今天来区分一下<em>kernel</em>层log与应用层log,及<em>打印</em><em>级别</em>。 linux控制台分为两种: 一种是<em>kernel</em><em>级别</em>的控制台,一般为uboot启动时通过cmdline传递给<em>kernel</em>的,这个<em>kernel</em><em>级别</em>控制台能够<em>打印</em>
adb如何打印kernel输出log
https://www.jianshu.com/p/9b657c3c3560 https://www.jianshu.com/p/9b657c3c3560 adb如何<em>打印</em><em>kernel</em>输出log J_Coder 2016.06.13 20:23* 字数 198 阅读 2665评论 1喜欢 1 Android内核的Log输出 Android内核是
android底层驱动学习之debug方法(procsysfs、debugfs)
android底层驱动学习之debug方法(<em>proc</em>、<em>sys</em>fs、debugfs)   在调试内核驱动程序时,刚开始接触时,不知如何输出自己想要的信息,所以我们需要建立一些debug方法来获取。   下面先说下自己今天学的几种方法:   1.       <em>proc</em>文件系统   a.      首先,<em>proc</em>文件系统是个什么东西呢 Linux系统上的/<em>proc</em>目录是一种文件系统,即
sudo 重定向命令
在执行下面的sudo命令的时候,出现问题: $ sudo echo 1 > /<em>proc</em>/<em>sys</em>/<em>kernel</em>/core_uses_pid bash: /<em>proc</em>/<em>sys</em>/<em>kernel</em>/core_uses_pid: Permission denied 解决方法是: $ sudo sh -c "echo 1 > /<em>proc</em>/<em>sys</em>/<em>kernel</em>/core_uses_pid"或者: $ ec
DEP&栈保护&ASLR 开启关闭
判断ASLR是否打开,输出2表示打开 关闭ASLR,切换至root用户,输入命令 echo 0 > /<em>proc</em>/<em>sys</em>/<em>kernel</em>/randomize_va_space 开启ASLR,切换至root用户,输入命令 echo 2 > /<em>proc</em>/<em>sys</em>/<em>kernel</em>/randomize_va_space gcc编译时,关闭DEP和栈保护,-fno-st
Binder子系统之调试分析(二)
一. 概述 上一篇文章已经介绍了binder子系统调试的一些手段,这篇文章再来挑选系统几个核心服务进程来进行分析. 1.1 创建debugfs 首先debugfs文件系统默认挂载在节点/<em>sys</em>/<em>kernel</em>/debug,binder驱动初始化的过程会在该节点下先创建/binder目录,然后在该目录下创建下面文件和目录: <em>proc</em>/statsstatetransactions
Linux——虚拟机模块printk无法打印问题
1,<em>printk</em>()<em>打印</em>内核消息。 2,管理内核内存的daemon(守护进程) Linux系统当中最流行的日志记录器是Sysklogd,Sysklogd  日志记录器由两个守护进程(klogd <em>sys</em>logd)和一个配置文件(<em>sys</em>log.conf)组成。klogd 不使用配置文件,它负责截获内核消息,它既可以独立使用也可以作为 <em>sys</em>logd 的客户端运行。<em>sys</em>logd 默认使用 /e
内核挂住,无法重启
内核软死锁(soft lockup)bug原因分析          Soft lockup名称解释:所谓,soft lockup就是说,这个bug没有让系统彻底死机,但是若干个进程(或者<em>kernel</em> thread)被锁死在了某个状态(一般在内核区域),很多情况下这个是由于内核锁的使用的问题。          Linux内核对于每一个cpu都有一个监控进程,在技术界这个叫做watchdo
linux调度器(九)——调度器的配置参数 .
调度器的配置参数 /<em>proc</em>/<em>sys</em>/<em>kernel</em>/sched_min_granularity_ns(4000000ns):<em>sys</em>ctl_sched_min_granularity,表示进程最少运行时间,防止频繁的切换,对于交互系统(如桌面),该值可以设置得较小,这样可以保证交互得到更快的响应(见周期调度器的check_preempt_tick过程) /<em>proc</em>/<em>sys</em>/<em>kernel</em>/sc
printk流程简介及kernel串口log打印流程整理
转自:http://blog.csdn.net/guodongping/article/details/9822935 一.<em>printk</em>函数简介 1.<em>printk</em>简介     <em>printk</em>是在内核中运行的向控制台输出显示的函数,Linux内核首先在内核空间分配一个静态缓冲区,作为显示用的空间,然后调用sprintf,格式化显示字符串,最后调用tty_write向终端进行信息的显示
文章热词 机器学习 机器学习课程 机器学习教程 深度学习视频教程 深度学习学习
相关热词 android 设置打印级别 android proc文件夹 c# 修改页边距 打印 android 图片质量级别 python的sys模块学习 python打印三角形教程
我们是很有底线的