potter: init: set dalvik heap props based on detected RAM size
This commit is contained in:
@@ -27,7 +27,9 @@
|
|||||||
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <fcntl.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <sys/sysinfo.h>
|
||||||
|
|
||||||
#include "vendor_init.h"
|
#include "vendor_init.h"
|
||||||
#include "property_service.h"
|
#include "property_service.h"
|
||||||
@@ -49,6 +51,7 @@ void num_sims() {
|
|||||||
|
|
||||||
void vendor_load_properties()
|
void vendor_load_properties()
|
||||||
{
|
{
|
||||||
|
struct sysinfo sys;
|
||||||
std::string platform = property_get("ro.board.platform");
|
std::string platform = property_get("ro.board.platform");
|
||||||
|
|
||||||
if (platform != ANDROID_TARGET)
|
if (platform != ANDROID_TARGET)
|
||||||
@@ -74,5 +77,27 @@ void vendor_load_properties()
|
|||||||
property_set("ro.hw.ecompass", "false");
|
property_set("ro.hw.ecompass", "false");
|
||||||
property_set("ro.hw.nfc", "true");
|
property_set("ro.hw.nfc", "true");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sysinfo(&sys);
|
||||||
|
|
||||||
|
if (sys.totalram > 3072ull * 1024 * 1024) {
|
||||||
|
property_set("dalvik.vm.heapstartsize", "8m");
|
||||||
|
property_set("dalvik.vm.heapgrowthlimit", "384m");
|
||||||
|
property_set("dalvik.vm.heapsize", "1024m");
|
||||||
|
property_set("dalvik.vm.heapminfree", "4m");
|
||||||
|
property_set("dalvik.vm.heapmaxfree", "16m");
|
||||||
|
} else if (sys.totalram > 2048ull * 1024 * 1024) {
|
||||||
|
property_set("dalvik.vm.heapstartsize", "8m");
|
||||||
|
property_set("dalvik.vm.heapgrowthlimit", "288m");
|
||||||
|
property_set("dalvik.vm.heapsize", "768m");
|
||||||
|
property_set("dalvik.vm.heapminfree", "512k");
|
||||||
|
property_set("dalvik.vm.heapmaxfree", "8m");
|
||||||
|
} else {
|
||||||
|
property_set("dalvik.vm.heapstartsize", "16m");
|
||||||
|
property_set("dalvik.vm.heapgrowthlimit", "192m");
|
||||||
|
property_set("dalvik.vm.heapsize", "512m");
|
||||||
|
property_set("dalvik.vm.heapminfree", "2m");
|
||||||
|
property_set("dalvik.vm.heapmaxfree", "8m");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -77,11 +77,6 @@ ro.core_ctl_max_cpu=4
|
|||||||
ro.core_ctl_min_cpu=2
|
ro.core_ctl_min_cpu=2
|
||||||
|
|
||||||
# Dalvik
|
# Dalvik
|
||||||
dalvik.vm.heapgrowthlimit=192m
|
|
||||||
dalvik.vm.heapmaxfree=8m
|
|
||||||
dalvik.vm.heapminfree=512k
|
|
||||||
dalvik.vm.heapsize=384m
|
|
||||||
dalvik.vm.heapstartsize=8m
|
|
||||||
dalvik.vm.heaptargetutilization=0.75
|
dalvik.vm.heaptargetutilization=0.75
|
||||||
|
|
||||||
# Display
|
# Display
|
||||||
|
|||||||
Reference in New Issue
Block a user