Распределение здесь в основном не имеет значения. Вы не находитесь в таких масштабах, где вам нужно выжимать каждый байт памяти и дискового пространства.
Единственная часть, которая может потреблять много памяти, - это окружение рабочего стола. Для запуска одного приложения вам не нужна шикарная среда рабочего стола. На самом деле, вам вообще не нужна среда рабочего стола: просто пустой X-сервер и полноэкранное приложение. Это называется киоск. Вы можете сделать это на любом дистрибутиве.
Так что просто выберите Debian или Ubuntu или любой другой, который вам нравится как администратору. И настройте его для киоска. В Интернете есть множество руководств, включая указания в этом вопросе Ask Ubuntu.
ionice en el proceso principal no parece funcionar, así que modifiqué el script de inicio de "courier -imap" y "courier -imap -ssl" y parece que funciona:
case "$1" in
start)
if [ "$START" = "yes" ]; then
log_daemon_msg "Starting $PROGRAM" "$DAEMON"
umask $IMAP_UMASK
ulimit -v $IMAP_ULIMITD
/usr/bin/env - /bin/sh -c " set -a; \
bindir=${bindir}; \
. ${sysconfdir}/imapd; \
if [ "$SSLCONFIG" ]; then. ${sysconfdir}/imapd-ssl; fi; \
IMAP_STARTTLS=$IMAPDSTARTTLS ; export IMAP_STARTTLS ; \
PROXY_HOSTNAME=$PROXY_HOSTNAME;
TLS_PROTOCOL=$TLS_STARTTLS_PROTOCOL ; \
ionice -c3 /usr/sbin/courierlogger -pid=$PIDFILE -start $LOGGEROPTS \
$TCPD -address=$ADDRESS \
-maxprocs=$MAXDAEMONS -maxperip=$MAXPERIP \
$TCPDOPTS \
$PORT ${libexecdir}/courier/imaplogin \
${bindir}/imapd $MAILDIRPATH"
log_end_msg 0
fi
Si alguien tiene sugerencias de mejora, por favor dígame.
Simplemente ejecute ionice
en el proceso principal de IMAP. La configuración es heredada por los procesos secundarios.
Tal vez también ayude ejecutar find /path -printf""
cada minuto más o menos en todos los directorios de correo para mantener los metadatos en el caché de la página (a menos que sean demasiados datos y necesite más el caché para otras cosas ).
Como otra solución, puede poner el proceso de mensajería para separar la jerarquía cgroup y especificar los parámetros (Ancho de banda de E/S en su caso )para el controlador de E/S de bloque .
Un ejemplo simple particular que he encontrado se puede obtener de este enlace .
Además, puede especificar otros parámetros de los controladores, como cpuact, memory, net _prio. Puede encontrar mucho más en Documentación del kernel de Linux .