如何解决Logcat的大小限制是多少?如何更改其容量?
| 我相信Logcat是一个循环存储,我想知道覆盖它之前的限制是多少。 据推测这意味着其时间范围将根据使用情况而变化。 有什么办法可以扩大产能?解决方法
要查看大小,请使用-g
$ adb logcat -g
ring buffer is 64Kb (63Kb consumed),max entry is 4096b,max payload is 4076b
, 从Android 5.0开始,开发人员选项会显示/允许增加环形缓冲区的大小。
, 如前所述,您可以使用logcat -g查看循环缓冲区的大小。在我的Galaxy Nexus上,它的大小为256 KB:
shell@android:/ $ logcat -g
/dev/log/main: ring buffer is 256Kb (255Kb consumed),max payload is 4076b
/dev/log/system: ring buffer is 256Kb (0Kb consumed),max payload is 4076b
如果您需要保存的连续日志的时间长于此时间,则可以打开一个新的adb shell并键入
logcat -f myfile.log
此命令将持续不断地将日志条目重定向到文件myfile.log,直到您按ctrl-c停止它之后才返回。现在回到原始的adb shell并键入您要记录的命令,其所有输出(在我的情况下超过256 KB)将保存到myfile.log中。
, 以下是在某些版本的Android上更改日志环形缓冲区容量的方法:
adb logcat -G <size>
:设置日志环形缓冲区的大小。可以在末尾添加K或M以表示千字节或兆字节。
(来源:logcat文档)
但是,并没有说明此选项在Android的哪个版本上可用。我在Android 4.2.2设备上看到这不是公认的选项。
, 缓冲区大小由内核确定,可在* / drivers / staging / android / logger.c中找到
使用哪些缓冲区,大小已随Android版本更改。 Android 3.0及更高版本也具有系统缓冲区,所有四个缓冲区均为256kb。您必须重新编译内核才能对其进行更改。
, 三星Galaxy S4(Android 4.3)logcat大小:
主:1 MB
系统:512 KB
, 如果您需要通过android shell更改值,使其在重启后仍然有效,则可以使用属性persist.logd.size
,如下所示:
setprop persist.logd.size 16M
您可能需要重新启动才能使设置生效。
这是开发人员设置更改的相同属性。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。