我安装了rngd 5,并在我的android上运行了android5.1。我做了一个脚本来测试它们:#!/system/bin/sh
haveged -w 1024 -p /dev/haveged.pid -r 0 &
rngd -d 1 -p /dev/rngd.pid -r /dev/hw_random &
我发现使用这两种方法来增加熵耗尽的电池,所以我删除了脚本、二进制文件和/data/system/entropy*。
我遇到的问题是,在重新启动多次之后,这并没有停止熵的生成。/proc/sys/kernel/random/entropy_avail
在池大小数字中被最大化,/proc/sys/kernel/random/poolsize
。一个标记为[hwrng]
的进程比任何其他进程消耗更多的cpu时间。它正在耗尽我的电池,并真的减慢了系统的速度。hwrng进程,不管它来自哪里,似乎都被永久地重新配置了。我只发现这个[hwrng]
过程搜索rng或有ps|grep
和pgrep
的过程。我在/dev或其他任何地方都没有找到任何hwrng文件。我在搜索引擎或rngd上什么也没找到,也没有关于这个的文档。有人知道发生了什么事,或者有办法重置系统的自然熵产生吗?我一定错过了什么。
最佳答案
好吧,我想好了怎么解决这个问题。我执行了我做的这个功能:
cleaner() {
find /data -type d -name *cache -print0 | while read -d "" -r -- i
do
/system/xbin/busybox rm -rf "$i"/{,.}*
done
/system/xbin/busybox rm -rf /data/system/cache/* /data/system/dropbox/* /data/system/hwui_precompiled_programs_* /data/system/job/* /data/system/lgis/* /data/system/lgmdm/* /data/system/netstats/* /data/system/perfd/* /data/system/procstats/* /data/system/recent_*/* /data/system/usagestats/0/*/*`
}
以及这个额外的命令:
cd /data/system
rm -rf usagestats/* uiderrors.txt seapp_hash recent_*/* procstats/* perfd/* netstats/* lgmdm/* lgis/* job/* last-fstrim install_sessions/* ifw/* entropy.dat dropbox/* called* cache/* batt*`
在MKSH外壳里。
他们所做的是删除所有应用程序的缓存以及在/data/system中重新生成的所有文件。我不确定哪个文件或哪些文件可能保留在rngd上更改了hwrng进程行为,但这完全修复了我的系统。进程
[hwrng]
已消失,但现在有一个hwrng
进程,没有括号。CPU时间是0,我的/proc/sys/kernel/random/entropy_avail
回到~1500。