|
@@ -794,16 +794,46 @@ function install_shellcheck {
|
794
|
794
|
apt-get -yq install shellcheck
|
795
|
795
|
}
|
796
|
796
|
|
797
|
|
-function set_read_ahead {
|
798
|
|
- # Setting this can significantly improve microSD read performance
|
799
|
|
- read_ahead="$1"
|
800
|
|
- if [ ! "$read_ahead" ]; then
|
801
|
|
- read_ahead=4096
|
802
|
|
- fi
|
803
|
|
- if [ ! -f /sys/devices/virtual/bdi/179:0/read_ahead_kb ]; then
|
804
|
|
- return
|
805
|
|
- fi
|
806
|
|
- echo -n "$read_ahead" > /sys/devices/virtual/bdi/179:0/read_ahead_kb
|
|
797
|
+function microsd_card_optimisations {
|
|
798
|
+ # These values can improve performance on microSD cards
|
|
799
|
+ if [ ! -d /etc/network/if-up.d ]; then
|
|
800
|
+ mkdir /etc/network/if-up.d
|
|
801
|
+ fi
|
|
802
|
+ printf '#!/bin/bash\n' > /usr/bin/enable_optimisations
|
|
803
|
+
|
|
804
|
+ if [ -f /sys/devices/virtual/bdi/179:0/read_ahead_kb ]; then
|
|
805
|
+ echo -n '4096' > /sys/devices/virtual/bdi/179:0/read_ahead_kb
|
|
806
|
+ echo "echo -n '4096' > /sys/devices/virtual/bdi/179:0/read_ahead_kb" >> /usr/bin/enable_optimisations
|
|
807
|
+ fi
|
|
808
|
+
|
|
809
|
+ if [ -f /proc/sys/vm/dirty_expire_centisecs ]; then
|
|
810
|
+ echo -n '100' > /proc/sys/vm/dirty_expire_centisecs
|
|
811
|
+ echo "echo -n '100' > /proc/sys/vm/dirty_expire_centisecs" >> /usr/bin/enable_optimisations
|
|
812
|
+ fi
|
|
813
|
+
|
|
814
|
+ if [ -f /proc/sys/vm/dirty_writeback_centisecs ]; then
|
|
815
|
+ echo -n '100' > /proc/sys/vm/dirty_writeback_centisecs
|
|
816
|
+ echo "echo -n '100' > /proc/sys/vm/dirty_writeback_centisecs" >> /usr/bin/enable_optimisations
|
|
817
|
+ fi
|
|
818
|
+
|
|
819
|
+ chmod +x /usr/bin/enable_optimisations
|
|
820
|
+
|
|
821
|
+ { echo '[Unit]';
|
|
822
|
+ echo "Description=${PROJECT_NAME} optimisations";
|
|
823
|
+ echo 'After=syslog.target';
|
|
824
|
+ echo 'After=network.target';
|
|
825
|
+ echo 'After=remote-fs.target';
|
|
826
|
+ echo '';
|
|
827
|
+ echo '[Service]';
|
|
828
|
+ echo 'Type=simple';
|
|
829
|
+ echo 'User=root';
|
|
830
|
+ echo 'Group=root';
|
|
831
|
+ echo 'WorkingDirectory=/root';
|
|
832
|
+ echo 'ExecStart=/usr/bin/enable_optimisations';
|
|
833
|
+ echo '';
|
|
834
|
+ echo '[Install]';
|
|
835
|
+ echo 'WantedBy=multi-user.target'; } > /etc/systemd/system/optimisations.service
|
|
836
|
+ systemctl enable optimisations
|
807
|
837
|
}
|
808
|
838
|
|
809
|
839
|
function setup_utils {
|
|
@@ -828,8 +858,8 @@ function setup_utils {
|
828
|
858
|
function_check separate_tmp_filesystem
|
829
|
859
|
separate_tmp_filesystem 150
|
830
|
860
|
|
831
|
|
- function_check set_read_ahead
|
832
|
|
- set_read_ahead 4096
|
|
861
|
+ function_check microsd_card_optimisations
|
|
862
|
+ microsd_card_optimisations
|
833
|
863
|
|
834
|
864
|
function_check proc_filesystem_settings
|
835
|
865
|
proc_filesystem_settings
|