Logcat的大小限制是多少以及如何更改其容量?

时间:2011-06-12 10:57:18

标签: android

我相信Logcat是一个圆形商店,我想知道它被覆盖之前的限制是什么。

据推测,这意味着它的时间范围会根据用途而有所不同。

有没有办法扩大其容量?

7 个答案:

答案 0 :(得分:44)

要查看大小,请使用-g

$ adb logcat -g
ring buffer is 64Kb (63Kb consumed), max entry is 4096b, max payload is 4076b

答案 1 :(得分:34)

自Android 5.0起,开发者选项显示/允许增加环形缓冲区的大小。

Developer Options ScreenShot

答案 2 :(得分:7)

如前所述,您可以使用logcat -g查看循环缓冲区的大小。在我的Galaxy Nexus上,它是256 KB:

shell@android:/ $ logcat -g
/dev/log/main: ring buffer is 256Kb (255Kb consumed), max entry is 4096b, max payload is 4076b
/dev/log/system: ring buffer is 256Kb (0Kb consumed), max entry is 4096b, max payload is 4076b

如果您需要保存比此更长的连续日志,您只需打开一个新的adb shell并输入

logcat -f myfile.log

此命令会持续将日志条目重定向到文件myfile.log,直到您按ctrl-c停止它才会返回。现在回到原来的adb shell并输入你想要记录的命令,它的所有输出(在我的情况下超过256 KB)将保存到myfile.log。

答案 3 :(得分:2)

缓冲区大小由内核决定,可在* / drivers / staging / android / logger.c

中找到

使用了哪些缓冲区,并且Android版本的大小已更改。 Android 3.0及更新版本也有一个系统缓冲区,所有四个都是256kb。你必须重新编译内核才能改变它。

答案 4 :(得分:1)

三星Galaxy S4(Android 4.3)logcat大小:

  • main:1 MB
  • system:512 KB

答案 5 :(得分:1)

以下是在某些Android版本上更改日志环缓冲区容量的方法:

  

adb logcat -G <size>:设置日志环缓冲区的大小。可以在末尾添加K或M以指示千字节或兆字节。

(资料来源:logcat documentation

然而,它没有说明这个选项在哪个版本的Android上可用。我在Android 4.2.2设备上看到它不是一个公认的选项。

答案 6 :(得分:0)

如果您需要通过android shell更改值,以使其在重启后仍然有效,则可以使用属性persist.logd.size,如下所示:

setprop persist.logd.size 16M

您可能需要重新启动才能使设置生效。 这是由开发人员设置更改的属性。