==========================================================================================================================================
According to the main post of the xda author, the meaning is this:
1. There are two main optimization contents:
a. Optimized RNG (random number generator). Roughly speaking, the Android system lag targeted here is caused by the blocking of the dev/random device (RNG) that the JVM and components often read (the original text is blocking. After the entropy resource is used up, you need to wait for dev/random to be generated. And the priority of dev/random is very low, so lag occurs.). The author uses /dev/urandom that does not block (blocking) to generate entropy and fills /dev/random once every second to solve this problem. After Monkey Machine ICS, the system JVM and components basically no longer use dev/random, so the situation is relatively not serious. However, ICS will still consume entropy due to other programs, and may need to wait for entropy to be generated. The conclusion is that a optimization is mainly aimed at systems before 4.0, and the theoretical effect of systems after 4.0 is much smaller than that of 2.3. However, according to xda user reports, it can still effectively reduce lag.
b. Increased the IO queue length of the storage device MMC (the main post said that some users have significantly improved performance when operating a large number of IO operations). In theory, the scheduling results of the Governor (scheduler) can be optimized.Merge duplicate IO operations.
2. Regarding the power consumption, the author of the original post said that the current version basically does not affect power consumption. There are two reasons.
a. The program has an option that is enabled by default (the first option is suspend RNG service while screen off). When the screen is turned off, the program sleeps. Doesn't work.
b. Even when the program is active, the resource consumption is very small. By design, it is impossible to trigger changes in the status and frequency of the CPU. The consumption in 24 hours is less than 2%. Data and explanation given in the original article: battery impact was negligible (less than 2% per 24h). It's unlikely that this would present enough load to trigger a CPU governor statechange at 10mhz.
3. Use of program. The system must first be rooted. After installing the seeder, open the program. On/Off opens the program. After opening, the available entropy at the bottom will increase to 4096. The three options below are: Suspend RNG service while screen off (the RNG program sleeps when the screen is turned off) Extend I/O queue (increase the IO queue) Start automatically on boot (automatically runs when the system starts) The program is just a GUI interface. Closing it does not affect the system settings. The actual running RNGD is a Linux process and cannot be seen in the Android task list.
Update 1Observed in subsequent use (based on three self-owned devices, Monkey 2.3/4.04/4.1):
1. You can experience the effect of Seeder in the following aspects: a. System UI response, program switching, etc. (the most obvious part is caused by the UI thread waiting for blocked RNG)
b. The loading speed of some programs consumes a lot of entropy types generated by RNG
. (I tested UC and other browsers, Evernote, QQ, WeChat, etc. all consume a large amount of entropy. In addition, games may also consume a large amount of entropy. I personally don't play games, so I tried a Star Wars bird, which consumed a large amount of entropy)
c. WiFi, mobile data, etc. (According to Wikipedia, TCP/IP sequences, WiFi encryption, encryption used by SSL, etc. all require the use of RNG) How to observe entropy consumption?Open the Seeder program and first set
to Off. Observe the available entropy
value at the bottom. At this time, try to turn on and off WiFi or open the program. The upper limit of entropy I observed is 4096. Turning Wifi on and off once consumes 1500-2000, opening Evernote once consumes 1500-2000, and turning on UC consumes 500. According to the numerical value, it is indeed not enough. After checking the relevant information, if there is no
Seeder, the
generation of entropy of dev/random comes from:
a. Entropy is generated from the interaction between the user and the system, including input and touch. It can be observed through Seeder
's available entropy. Touch it once for +20
entropy. (Training a real monkey...it needs to be touched if nothing happens)
b. The noise comes from inside the system (according to the research, there are white noise of circuit signals, sound card background noise, network card receiving data, etc. Please ask a real electrician to explain this in detail), but I did not observe any increase in entropy under static conditions.
c. System generated. After all the entropy is consumed, it's not completely stuck. Only after the entropy is used up will you add a little bit (wait for the real electrician to explain in detail)
2. There is no obvious effect after installation. Here are some guesses.
a. Different mobile phones have different ROMs, as well as third-party patches, etc. ActuallyBy increasing the upper limit of entropy, or internally directing /dev/
random to /dev/urandom.
b. Monkey's new system UI thread is no longer affected by
entropy blocking. The
Project Butter introduced in Monkey 4.1 has already increased the priority of
UI response according to the instructions. I guess it may be blocked on the UI and has little impact.
c. The relatively new hardware-related entropy generation speed is very fast, and RNG no longer blocks.
d. Users of real functional phones. . . Limited experience.
3. The problem that Seeder solves is the Linux problem on which Android is based. I just Googled it and found that in addition to Android, Linux including servers and desktops, PHP, databases, and Web servers are all affected by this. (SSL encryption, etc., WiFi, TCP/IP all use RNG, which is a bottleneck. Serious calculations even say that the speed will be increased by about 500% after modification.) Many related posts can be found on Linux, and Seeder has introduced it into Android conditions. According to the original article by the xda author, Linux is one of the very few modern operating systems that uses blocking RNG (/dev/random). . . The reason for insisting on using /\dev/random is that the entropy data generated by dev/random
is more random than that of dev/urandom. To ensure the security of encryption. So regardless of whether you can feel the speed change after installation, Seeder has indeed solved the problem of AndOne of the bottlenecks of Android and Linux experience. 2.3/4.04/4.1 are all affected. From the data, Seeder has obvious effects. Although the degree is different. Regardless of whether you have any effect or not, I am still running to praise Seeder.
The physical body can feel the heartbeat of the monkey machine's resurrection.
4. The above are only based on xda and google, with a total of less than three hours of research. For the rest, I would like to ask D version's many hidden real electricians to study it in detail.
Optimization Software Seeder (Updated February 24)
Replies (9)
I'm powerless, Yuanyuan, I just passed by.
Completely can't understand. Too much English.
This is just part of the content, there's more that hasn't been copied! Anyway, we don't need to understand the principle, as long as we can use it.
No one knows what kind of software it is\("▔□▔)/
There are effects used later; you can take a look.
Seeing good resources, I decisively came in to leave my supportive voice! Even though I'm on Symbian!
Little JJ... good night!
By the way, bumping the resource.
What a mess
— All replies loaded —