Аз имам rpi с инсталиран raspbian, на който имам oscam за четене на карти и два тунера един ефирен и един кабелен. Кабеларката излъчва в sd канлите в mpeg-2, а hd са с висок bitrate ~10 Mbits. Забелязах че пито се справя с stream но процесора му е почти на границата.
Пораdи тази причина се заех да по оптимизирам малко нещата според намереното в един сайт extremeshok
След всеки рестарт по време на оптимизацията трябва да сме като root
Обновява се до последната версия
Code:
apt-get -y update && apt-get -y dist-upgrade && apt-get -y autoremove && apt-get -y autoclean
Обновява се и rpi-firmware
Code:
wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && chmod +x /usr/bin/rpi-update
Ако искате да изполвате паметта (server usage: 240MB RAM / 16MB Video)
Ако искате да изполвате паметта (server usage: 224MB RAM / 32MB Video)
Рестарт
Инсталиране на допълнителни полезни програми
Code:
apt-get install vim vim-nox screen unzip zip python-software-properties aptitude curl ntp ntpdate git-core wget ca-certificates binutils raspi-config -y
Замяна на OpenSSH със Dropbear | Спестява: +10MB RAM
Code:
apt-get install dropbear openssh-client
Code:
/etc/init.d/ssh stop
Не прекъсвайте текущата си ssh сесия след тази команда.
Стартиране на dropbear след рестарт.
Code:
sed -i 's/NO_START=1/NO_START=0/g' /etc/default/dropbear
Забрана на root достъп през ssh
Code:
sed -i 's/DROPBEAR_EXTRA_ARGS=/DROPBEAR_EXTRA_ARGS="-w"/g' /etc/default/dropbear
Смяна на порт 22 за ssh на порт 2222
Code:
sed -i 's/DROPBEAR_PORT=22/DROPBEAR_PORT=2222/g' /etc/default/dropbear
Стартирана на dropbear
Code:
/etc/init.d/dropbear start
Тествайте да се свържете ssh към устройството.
Ако теста е успешен премахнете старият ssh
Code:
apt-get purge openssh-server
Премахване на допълнителните tty / getty’s | Спестява: +3.5 MB RAM
Code:
sed -i '/[2-6]:23:respawn:\/sbin\/getty 38400 tty[2-6]/s%^%#%g' /etc/inittab
Забраняване на серийната линия.
Code:
sed -i '/T0:23:respawn:\/sbin\/getty -L ttyAMA0 115200 vt100/s%^%#%g' /etc/inittab
Замяна на Bash shell с Dash shell | Спестява: +1 MB RAM
Code:
dpkg-reconfigure dash
Избирата на показалият се прозорец
Use dash as the default system shell (/bin/sh)? Yes
Активиране на 512MB swapfile
Code:
echo "CONF_SWAPSIZE=512" > /etc/dphys-swapfile
Code:
dphys-swapfile setup
Code:
sed -i 's/vm.swappiness=1/vm.swappiness=10/g' /etc/sysctl.conf
Code:
echo 'vm.vfs_cache_pressure=50' >> /etc/sysctl.conf
Оптимизиране на mount
Code:
sed -i 's/defaults,noatime/defaults,noatime,nodiratime/g' /etc/fstab
Забраняване на IPv6
Ако нямате нужда от IPv6 най-добре е да се изключим така ще се спестят малко ресурси и мрежата ще се оптимизира.
Code:
echo "net.ipv6.conf.all.disable_ipv6=1" > /etc/sysctl.d/disableipv6.conf
Code:
echo 'blacklist ipv6' >> /etc/modprobe.d/blacklist
Code:
sed -i '/::/s%^%#%g' /etc/hosts
Reboot
Overclock cpu, sdram и gpu core без увеличаване на напрежението
800 MHz няма нужда от външно охлаждане и препоръчителната настройка.
Code:
echo -e "arm_freq=800\nsdram_freq=450\ncore_freq=350\nforce_turbo=1" >> /boot/config.txt
850 MHz препоръчителни при инсталирани радиатори.
Code:
echo -e "arm_freq=850\nsdram_freq=500\ncore_freq=450\nforce_turbo=1" >> /boot/config.txt
Reboot
Замяна на Deadline Scheduler със NOOP Scheduler
NOOP scheduler е най-добрият за SSD устройства и flash памети.
Code:
sed -i 's/deadline/noop/g' /boot/cmdline.txt
Reboot
Замяна rsyslogd с inetutils-syslogd и премахванена ненужните логове
Така се намаля консумацията на памет и процесор.
Code:
apt-get -y remove --purge rsyslog
Code:
apt-get -y install inetutils-syslogd
Code:
service inetutils-syslogd stop
Code:
for file in /var/log/*.log /var/log/mail.* /var/log/debug /var/log/syslog; do [ -f "$file" ] && rm -f "$file"; done
for dir in fsck news; do [ -d "/var/log/$dir" ] && rm -rf "/var/log/$dir"; done
Code:
echo -e "*.*;mail.none;cron.none\t -/var/log/messages\ncron.*\t -/var/log/cron\nmail.*\t -/var/log/mail" > /etc/syslog.conf
Code:
mkdir -p /etc/logrotate.d
echo -e "/var/log/cron\n/var/log/mail\n/var/log/messages {\n\trotate 4\n\tweekly\n\tmissingok\n\tnotifempty\n\tcompress\n\tsharedscripts\n\tpostrotate\n\t/etc/init.d/inetutils-syslogd reload >/dev/null\n\tendscript\n}" > /etc/logrotate.d/inetutils-syslogd
Code:
service inetutils-syslogd start
Използване на static IP и премахване на DHCP-Client
Така ще се намали консумацията на памет и процесор.
Code:
cp -f /etc/network/interfaces /etc/network/interfaces.dhcp-backup
Редактираме файла /etc/network/interfaces
Като на мястото на
iface eth0 inet dhcp
поставяме
Code:
iface eth0 inet static
#set your static IP below
address 192.168.1.107
#set your default gateway IP here
gateway 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
Заменете адресите с тези които са ви нужни.
Reboot