修改logcat缓存大小

adb  2020年11月21日 pm10:57发布4年前 (2020)更新 91es.com站长
103 0 0

前言

Android机器在打印logcat时,偶然由于日志输出过大,会出现如下问题

adb logcat read: unexpected EOF!

然后被强制性退出了打印。

解决的方法有两种,一种是使用adb临时修改,断电就恢复,一种是代码中修改,永久性存在。

正文

永久修改logcat缓存

kernel\drivers\staging\android\logger.c

static int __init logger_init(void)
{
int ret;


ret = create_log(LOGGER_LOG_MAIN, 256*1024*8);
if (unlikely(ret))
goto out;


ret = create_log(LOGGER_LOG_EVENTS, 256*1024*8);
if (unlikely(ret))
goto out;


ret = create_log(LOGGER_LOG_RADIO, 256*1024*8);
if (unlikely(ret))
goto out;


ret = create_log(LOGGER_LOG_SYSTEM, 256*1024*8);
if (unlikely(ret))
goto out;


out:
return ret;
}

如果需要修改缓存大小,修改create_log的第二个参数即可, 之前为256,本人将其乘以了8

临时修改logcat -G 缓存

可以使用logcat -G + 值m 修改缓存大小。

# 修改缓存为100m
adb logcat -G 100m

修改日志打印

adb logcat -g

# 下面是打印日志
main: ring buffer is 10Mb (2Mb consumed), max entry is 5120b, max payload is 4068b
system: ring buffer is 10Mb (299Kb consumed), max entry is 5120b, max payload is 4068b
crash: ring buffer is 10Mb (0b consumed), max entry is 5120b, max payload is 4068b


# 使用logcat -G 修改缓存大小

adb logcat -G 100m


# 修改后的打印日志

adb logcat -g

main: ring buffer is 100Mb (2Mb consumed), max entry is 5120b, max payload is 4068b
system: ring buffer is 100Mb (300Kb consumed), max entry is 5120b, max payload is 4068b
crash: ring buffer is 100Mb (0b consumed), max entry is 5120b, max payload is 4068b


# 设置最大值为257m就会出现异常提示

adb logcat -G 257m
failed to set the 'main' log size

参考文章

  1. logcat缓存大小修改

 历史上的今天

  1. 2024: Android截图命令总结(0条评论)
  2. 2019: 王小波:写给新的一年(0条评论)
版权声明 1、 本站名称: 91易搜
2、 本站网址: 91es.com
3、 本站内容: 部分来源于网络,仅供学习和参考,若侵权请留言
3、 本站申明: 个人流水账日记,内容并不保证有效

暂无评论

暂无评论...

随机推荐

interface_cast简介

前言interface_cast在Android Framework中很常见,虽然记得住,但也容易忘记,因此记录一下,方便自己查阅。正文这里以IServiceManager.cpp为例。IServiceManager.cpp目录:\frameworks\native\libs\binde...

AssetManager读取assets文件

前言Android开发中,需要读取assets文件夹下的资源文件。assets文件夹是用于存放应用程序资源文件的目录,可以存放任意文件类型,比如图片、音频、字体等。AssetManager是Android应用程序资源管理器,访问assets文件夹内容就需要它。本文简单记录一下通过AssetM...

Callable的简单使用

一、Callable的简介Callable是Java1.5中引入的一个接口,直接看官方文档:public interface Callable<V>A task that returns a result and may throw an exception. Impleme...

BiuTextView替代TextView

前言Android 高版本后,TextView走马灯耗CPU。使用BiuTextView替代TextView来实现跑马灯。注意,下面测试还要其他应用使用surfaceflinger,所以很高,我们只是对比同一环境下,BiuTextView和TextView跑马灯的情况。正文说明:D...

海子:为什么你不生活在沙漠上

为什么你不生活在沙漠上英雄的可怜而可爱的伴侣我那唯一的人在何方? 用酒调着火所能留下的灰 写下几首诗?我的形象开始上升主宰着你的心灵!孤独守候着一个健康的声音!绝望之神你在何方? 为什么你不生活在沙漠上!我是谁手里磨刀的石块?我为何要把赤子带进海洋&n...

郑振铎:月夜之话

是在山中的第三夜了。月色是皎洁无比,看着她渐渐地由东方升了起来。蝉声唧——唧——唧——地曼长地叫着,岭下涧水潺潺的流声,隐略地可以听见,此外,便什么声音都没有了。月如银的圆盘般大,静定地挂在晚天中,星没有几颗,疏朗朗的间缀于蓝天中,如美人身上披着蓝天鹅绒的晚衣,缀了几颗不规则的宝石。大家都把自己的...