Linux修改dmesg 显示大小
背景
由于在调试的时候没有串口,而通过dmesg打印的内容发现其中有截断的现象。
因此为了方便调试。将有关的缓冲区加大。
原理
Linux内核中打印内核消息时用到了一个环形缓冲区。
这个缓冲区的大小由 CONFIG_LOG_BUF_SHIFT 控制,规律为:
\]
因此,需要修改 Linux 内核源码中的一个控制 log buffer size 的宏:CONFIG_LOG_BUF_SHIFT。
方法1:配置
make menuconfig
General setup
(18)Kernel log buffer size (16 => 64KB,17 => 128KB)
限制
init/Kconfig
config LOG_BUF_SHIFT
int "Kernel log buffer size (16 => 64KB, 17 => 128KB)"
range 12 21
default 17
help
Select kernel log buffer size as a power of 2.
Examples:
17 => 128 KB
16 => 64 KB
15 => 32 KB
14 => 16 KB
13 => 8 KB
12 => 4 KB
可以看到 shift 最大值限制到了 21,也就是:2 M
方法2:源码中修改
路径:kernel/printk.c
#define __LOG_BUF_LEN (1 << CONFIG_LOG_BUF_SHIFT)
static char __log_buf[__LOG_BUF_LEN];
可以看到,是已经在编译时定死的一块静态空间,不能动态调整了。
只需要修改__LOG_BUF_LEN即可。
最大不超过31或者63(CPU位数-1)
Linux修改dmesg 显示大小的更多相关文章
- 【linux】linux修改open file 大小
使用下面命令可以查看openfile数量 ulimit -a linux修改open file 大小,修改步骤如下: 1>修改file-max 修改文件: vi /etc/sysctl.conf ...
- Linux修改终端显示前缀及环境变量
Linux终端前面默认显示一长串,如: [work@aaa.baidu.com dir]$ 这是由PS1环境变量决定的: [work@aaa.baidu.com dir]$ echo $PS1 [\u ...
- Linux 修改swap虚拟内存大小
swap是内存的交换区:换句话说,如果内存不够用了,那么系统会在硬盘上存储一些内存中不常用的数据,之后将这部分数据在存储中析构掉:这样内存就又有剩余空间可以运行东东啦,这个过程也就是所谓的 ...
- Linux 修改终端显示bash-1.4$
先取得root权限,然后在终端如下操作[root@host]$su -然后输入密码接着[root@host]#PS1='[\u@\H \W]\$' 你取得root权限后在,在终端命令下输入这个,一定要 ...
- mac/linux 修改vim显示信息
转自:http://www.cnblogs.com/yjmyzz/p/4019783.html 步骤1: cp /usr/share/vim/vimrc ~/.vimrc 先复制一份vim配置模板到个 ...
- Linux 默认线程栈大小 调优
Linux 线程栈介绍 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区.里面的变量通常是局部变量.函数参数等:和堆相比,栈通常很小. Linux 查询线程栈 1.查看默认的 ...
- linux下修改tomcat内存大小
转载自:http://blog.sina.com.cn/s/blog_7fb5109d0101o49a.html 1. 出现此问题的原因: 在tomcat中发布了多个webapp引用,每 ...
- 【linux】dmesg命令显示开机信息和设备加载情况
Linux命令dmesg用来显示开机信息,kernel会将开机信息存储在ring buffer中.您若是开机时来不及查看信息,可利用dmesg来查看.开机信息亦保存在/var/log目录中,名称为dm ...
- Android之hint提示字体大小修改,显示完全
Android之hint提示字体大小修改,显示完全 1.工作中遇到一个问题,就是自定义EditText的hint提示在超大字体下会显示不全, 2.然后在网上搜索了一下,在这里记录一下,分享给大家,在此 ...
- Linux环境变量的修改(永久,暂时)以及修改ls显示的时间格式
本文转自:http://blog.sina.com.cn/s/blog_8e21864f01014u9h.html Linux修改环境变量,很简单但很重要 一.Linux的变量种类 按变量的生存周期来 ...
随机推荐
- K8s控制器(8)---Deployment
一.Deployment控制器概念.原理解读 1.1 Deployment概述 # Deployment官方文档 https://kubernetes.io/docs/concepts/workloa ...
- 20231112多校模拟T2
题目描述 给你下列7种形状,问恰好填满 \(n*2\) 的方格有多少种方案(每种形状可任意旋转) 后三种形状纯粹是出题人的恶趣味,d用没有 做法一:暴力 不会 做法二:递推 定义: f[i] 为填满 ...
- 网站访问速度优化实战:CDN源/Nginx压缩/全站CDN加速
前言 接触到CDN的起因: 我自己搭建的网站https://price.monitor4all.cn/网页打开的速度一直比较慢,经查证是我的网站有很多静态js大文件,通过浏览器读取这些js比较耗时间. ...
- join分析:shuffle hash join、broadcast hash join
Join 背景介绍 Join 是数据库查询永远绕不开的话题,传统查询 SQL 技术总体可以分为简单操作(过滤操作.排序操作 等),聚合操作-groupby 以及 Join 操作等.其中 Join 操作 ...
- 源码研习 — TVM中的IR设计与技术实现
一.关键问题 TVM中的 IR 是什么,架构设计上分几层? 解答:TVM的整体结构图如下: 概念上,分为两层:上层为面向前端组网的Relay IR, 下层为面向LLVM的底层 IR. 但从设计实现上, ...
- DB2 关联更新
update GIS_TER_ADDRESS_MSG set (POS_X,POS_Y)=(select LAT,LON from TEMP_ATM where GIS_TER_ADDRESS_MSG ...
- AIRIOT助力城市管廊工程,智慧物联守护城市生命线
随着科技的不断革新,人工智能.大数据.物联网等新一代技术驱动的智慧城市快速发展,众多领域和行业的参随着科技的不断革新,人工智能.大数据.物联网等新一代技术驱动的智慧城市快速发展,众多领域和行业的参 ...
- CentOS7 防火墙(firewall)的命令详解
复制代码 安装:yum install firewalld 1.firewalld的基本使用 启动: systemctl start firewalld 查看状态: systemctl status ...
- Sed 日常使用介绍
Sed 日常使用介绍 简介 sed 是 unix 环境下常用的流处理工具, 可以处理字符流, 文件或者二进制文件流. 各个 unix/linux 发行版都会配备 sed 及其衍生的命令工具, 因此, ...
- 内存取证——volatility学习
前言 在做计算机最后两道题目碰到了MP3格式的镜像,分析发现是计算机内存,要进行内存取证.现在内存取证在ctf比赛中也是常见的题目,内存取证是指在计算机系统的内存中进行取证分析,以获取有关计算机系统当 ...