@@ -37,6 +37,219 @@ Unattended-Upgrade::Remove-Unused-Dependencies "true";
3737Unattended-Upgrade::AutoFixInterruptedDpkg "true";
3838Unattended-Upgrade::MinimalSteps "true";' | sudo tee /etc/apt/apt.conf.d/50-unattended-upgrades
3939
40+ # ------------------------------------------------------------------------
41+
42+ # # Some powersavings
43+ echo " options vfio_pci disable_vga=1
44+ options cec debug=0
45+ options kvm mmu_audit=0
46+ options kvm ignore_msrs=1
47+ options kvm report_ignored_msrs=0
48+ options kvm kvmclock_periodic_sync=1
49+ options nfs enable_ino64=1
50+ options pstore backend=null
51+ options libata allow_tpm=0
52+ options libata ignore_hpa=0
53+ options libahci ignore_sss=1
54+ options libahci skip_host_reset=1
55+ options snd_hda_intel power_save=1
56+ options snd_ac97_codec power_save=1
57+ options uhci-hcd debug=0
58+ options usbhid mousepoll=20 kbpoll=20 jspoll=20
59+ options usb-storage quirks=p
60+ options usbcore usbfs_snoop=0
61+ options usbcore autosuspend=10" | sudo tee /etc/modprobe.d/misc.conf
62+ echo -e " min_power" | sudo tee /sys/class/scsi_host/* /link_power_management_policy
63+ echo 1 | sudo tee /sys/module/snd_hda_intel/parameters/power_save
64+ echo -e " auto" | sudo tee /sys/bus/{i2c,pci}/devices/* /power/control
65+ sudo powertop --auto-tune && sudo powertop --auto-tune
66+ sudo cpupower frequency-set -g powersave
67+ sudo cpupower set --perf-bias 9
68+ sudo sensors-detect --auto
69+
70+ # ------------------------------------------------------------------------
71+
72+ # # Disable file indexer
73+ balooctl suspend
74+ balooctl disable
75+ balooctl purge
76+ sudo systemctl disable plasma-baloorunner
77+ for dir in $HOME $HOME /* /; do touch " $dir /.metadata_never_index" " $dir /.noindex" " $dir /.nomedia" " $dir /.trackerignore" ; done
78+
79+ # ------------------------------------------------------------------------
80+
81+ echo -e " Enable write cache"
82+ echo -e " write back" | sudo tee /sys/block/* /queue/write_cache
83+ sudo tune2fs -o journal_data_writeback $( df / | grep / | awk ' {print $1}' )
84+ sudo tune2fs -O ^has_journal $( df / | grep / | awk ' {print $1}' )
85+ sudo tune2fs -o journal_data_writeback $( df /home | grep /home | awk ' {print $1}' )
86+ sudo tune2fs -O ^has_journal $( df /home | grep /home | awk ' {print $1}' )
87+ echo -e " Enable fast commit"
88+ sudo tune2fs -O fast_commit $( df / | grep / | awk ' {print $1}' )
89+ sudo tune2fs -O fast_commit $( df /home | grep /home | awk ' {print $1}' )
90+
91+ # ------------------------------------------------------------------------
92+
93+ echo -e " Compress .local/bin"
94+ upx /home/$USER /.local/bin/*
95+
96+ # ------------------------------------------------------------------------
97+
98+ echo -e " Improve I/O throughput"
99+ echo 32 | sudo tee /sys/block/sd* [! 0-9]/queue/iosched/fifo_batch
100+ echo 32 | sudo tee /sys/block/mmcblk* /queue/iosched/fifo_batch
101+ echo 32 | sudo tee /sys/block/nvme[0-9]* /queue/iosched/fifo_batch
102+
103+ # ------------------------------------------------------------------------
104+
105+ echo -e " Disable systemd foo service"
106+ sudo systemctl disable foo.service
107+ sudo systemctl --global disable foo.service
108+
109+ # ------------------------------------------------------------------------
110+
111+ # # Improve wifi and ethernet
112+ if ip -o link | grep -q wlan; then
113+ echo -e " options iwlwifi power_save=1
114+ options iwlmvm power_scheme=3" | sudo tee /etc/modprobe.d/wlan.conf
115+ echo -e " options rfkill default_state=0 master_switch_mode=0" | sudo tee /etc/modprobe.d/wlanextra.conf
116+ sudo ethtool -K wlan0 gro on
117+ sudo ethtool -K wlan0 gso on
118+ sudo ethtool -c wlan0
119+ sudo iwconfig wlan0 txpower auto
120+ sudo iwpriv wlan0 set_power 5
121+ else
122+ sudo ethtool -s eth0 wol d
123+ sudo ethtool -K eth0 gro off
124+ sudo ethtool -K eth0 gso off
125+ sudo ethtool -C eth0 adaptive-rx on
126+ sudo ethtool -C eth0 adaptive-tx on
127+ sudo ethtool -c eth0
128+ fi
129+
130+ # ------------------------------------------------------------------------
131+
132+ echo -e " Enable HDD write caching"
133+ sudo hdparm -A1 -W1 -B254 -S0 /dev/sd* [! 0-9]
134+
135+ # ------------------------------------------------------------------------
136+
137+ # # Improve NVME
138+ if $( find /sys/block/nvme[0-9]* | grep -q nvme) ; then
139+ echo -e " options nvme_core default_ps_max_latency_us=0" | sudo tee /etc/modprobe.d/nvme.conf
140+ fi
141+
142+ # ------------------------------------------------------------------------
143+
144+ # # Improve PCI latency
145+ sudo setpci -v -s ' *:*' latency_timer=10 > /dev/null 2>&1
146+ sudo setpci -v -s ' 0:0' latency_timer=0 > /dev/null 2>&1
147+
148+ # ------------------------------------------------------------------------
149+
150+ # # Improve preload
151+ sudo sed -i -e ' s/sortstrategy =.*/sortstrategy = 0/' /etc/preload.conf
152+
153+ # ------------------------------------------------------------------------
154+
155+ echo -e " Disable fsck"
156+ sudo tune2fs -c 0 -i 0 $( df / | grep / | awk ' {print $1}' )
157+ sudo tune2fs -c 0 -i 0 $( df /home | grep /home | awk ' {print $1}' )
158+ echo -e " Disable checksum"
159+ sudo tune2fs -O ^metadata_csum $( df / | grep / | awk ' {print $1}' )
160+ sudo tune2fs -O ^metadata_csum $( df /home | grep /home | awk ' {print $1}' )
161+ echo -e " Disable quota"
162+ sudo tune2fs -O ^quota $( df / | grep / | awk ' {print $1}' )
163+ sudo tune2fs -O ^quota $( df /home | grep /home | awk ' {print $1}' )
164+
165+ # ------------------------------------------------------------------------
166+
167+ echo -e " Disable logging services"
168+ sudo systemctl mask dev-mqueue.mount > /dev/null 2>&1
169+ sudo systemctl mask sys-kernel-tracing.mount > /dev/null 2>&1
170+ sudo systemctl mask sys-kernel-debug.mount > /dev/null 2>&1
171+ sudo systemctl mask sys-kernel-config.mount > /dev/null 2>&1
172+ sudo systemctl mask systemd-update-utmp.service > /dev/null 2>&1
173+ sudo systemctl mask systemd-update-utmp-runlevel.service > /dev/null 2>&1
174+ sudo systemctl mask systemd-update-utmp-shutdown.service > /dev/null 2>&1
175+ sudo systemctl mask systemd-journal-flush.service > /dev/null 2>&1
176+ sudo systemctl mask systemd-journal-catalog-update.service > /dev/null 2>&1
177+ sudo systemctl mask systemd-journald-dev-log.socket > /dev/null 2>&1
178+ sudo systemctl mask systemd-journald-audit.socket > /dev/null 2>&1
179+ sudo systemctl mask logrotate.service > /dev/null 2>&1
180+ sudo systemctl mask logrotate.timer > /dev/null 2>&1
181+ sudo systemctl mask syslog.service > /dev/null 2>&1
182+ sudo systemctl mask syslog.socket > /dev/null 2>&1
183+ sudo systemctl mask rsyslog.service > /dev/null 2>&1
184+
185+ # ------------------------------------------------------------------------
186+
187+ echo -e " Disable GPU polling"
188+ echo -e " options drm_kms_helper poll=0" | sudo tee /etc/modprobe.d/disable-gpu-polling.conf
189+
190+ sudo update-initramfs -u -k all
191+ # ------------------------------------------------------------------------
192+
193+ # Don't reserve space man-pages, locales, licenses.
194+ echo -e " Remove useless companies"
195+ find /usr/share/doc/ -depth -type f ! -name copyright | xargs sudo rm -f || true
196+ find /usr/share/doc/ | grep ' \.gz' | xargs sudo rm -f
197+ find /usr/share/doc/ | grep ' \.pdf' | xargs sudo rm -f
198+ find /usr/share/doc/ | grep ' \.tex' | xargs sudo rm -f
199+ find /usr/share/doc/ -empty | xargs sudo rmdir || true
200+ sudo rm -rfd /usr/share/groff/* /usr/share/info/* /usr/share/lintian/* \
201+ /usr/share/linda/* /var/cache/man/* /usr/share/man/* /usr/share/X11/locale/! \( en_US\)
202+ sudo rm -rfd /usr/share/locale/! \( en_US\)
203+
204+ # ------------------------------------------------------------------------
205+
206+ echo -e " Flush flatpak database"
207+ sudo flatpak uninstall --unused --delete-data -y
208+ sudo flatpak repair
209+ echo -e " Clear the caches"
210+ for n in $( find / -type d \( -name " .tmp" -o -name " .temp" -o -name " .cache" \) 2> /dev/null) ; do sudo find " $n " -type f -delete; done
211+ echo -e " Clear the patches"
212+ rm -rfd /{tmp,var/tmp}/{.* ,* }
213+ sudo pacman -Qtdq &&
214+ sudo pacman -Runs --noconfirm $( /bin/pacman -Qttdq)
215+ sudo pacman -Sc --noconfirm
216+ sudo pacman -Scc -y
217+ sudo pacman-key --refresh-keys
218+ sudo pacman-key --populate archlinux
219+ yay -Yc --noconfirm
220+ sudo paccache -rk 0
221+ sudo pacman-optimize
222+ sudo pacman -Dk
223+
224+ # ------------------------------------------------------------------------
225+
226+ echo -e " Compress fonts"
227+ woff2_compress /usr/share/fonts/opentype/* /* ttf
228+ woff2_compress /usr/share/fonts/truetype/* /* ttf
229+ # # Optimize font cache
230+ fc-cache -rfv
231+ # # Optimize icon cache
232+ gtk-update-icon-cache
233+
234+ # ------------------------------------------------------------------------
235+
236+ echo -e " Clean crash log"
237+ sudo rm -rfd /var/crash/*
238+ echo -e " Clean archived journal"
239+ sudo journalctl --rotate --vacuum-time=0.1
240+ sudo sed -i -e ' s/^#ForwardToSyslog=yes/ForwardToSyslog=no/' /etc/systemd/journald.conf
241+ sudo sed -i -e ' s/^#ForwardToKMsg=yes/ForwardToKMsg=no/' /etc/systemd/journald.conf
242+ sudo sed -i -e ' s/^#ForwardToConsole=yes/ForwardToConsole=no/' /etc/systemd/journald.conf
243+ sudo sed -i -e ' s/^#ForwardToWall=yes/ForwardToWall=no/' /etc/systemd/journald.conf
244+ echo -e " Compress log files"
245+ sudo sed -i -e ' s/^#Compress=yes/Compress=yes/' /etc/systemd/journald.conf
246+ sudo sed -i -e ' s/^#compress/compress/' /etc/logrotate.conf
247+ echo -e " Scrub free space and sync"
248+ echo -e " kernel.core_pattern=/dev/null" | sudo tee /etc/sysctl.d/50-coredump.conf
249+ sudo dd bs=4k if=/dev/null of=/var/tmp/dummy || sudo rm -rfd /var/tmp/dummy
250+ sync -f
251+
252+ # ------------------------------------------------------------------------
40253
41254sudo netselect-apt stable && sudo mv sources.list /etc/apt/sources.list && sudo apt update
42255
0 commit comments