{ "meta": { "title": "Pós-instalação: Sistema | Documentação ProxMenux", "description": "Otimizações em nível de sistema no ProxMenux Script pós-instalação personalizável: journald e limites de tamanho de rotação de log, limites mais altos de kernel e descritor de arquivo, ajuste de memória balanceado, kexec para reinicializações rápidas e recuperação de kernel panic." }, "header": { "title": "Após a instalação: sistema", "section": "Configurações pós-instalação do Proxmox" }, "intro": { "title": "O que esta categoria abrange", "body": "Seis otimizações de sistema independentes. Ajustam journald e logrotate para os registos não encherem o disco, aumentam os limites do kernel e dos descritores de ficheiros para aplicações com muitos ficheiros abertos, equilibram a memória num host de virtualização, acrescentam kexec para reinícios sem BIOS e configuram a recuperação automática de kernel panic. As seis ficam registadas e são reversíveis no menu Desinstalar." }, "journald": { "heading": "Otimizar journald", "intro": "Reescreve /etc/systemd/journald.conf com valores adequados para o journal systemd não encher gradualmente a partição raiz; depois reinicia systemd-journald e limpa registos antigos.", "keyTitle": "Valores-chave", "keyItems": [ "Storage=persistent — manter registros no disco através de reinicialização.", "SystemMaxUse=64M / RuntimeMaxUse=60M — limites de utilização de disco e memória do journal.", "Compress=yes, Seal=no — comprime registos e desativa a selagem com segurança futura (poupa CPU).", "MaxLevelStore=info — guarda nível info e superiores, necessários ao visualizador de registos ProxMenux Monitor e à deteção de falhas de autenticação SSH/Proxmox pelo Fail2Ban no journal.", "Limite de frequência: 1000 events / 30 s para evitar um excesso de registos.", "ForwardToSyslog=no, ForwardToWall=no — não duplicar mensagens para syslog ou transmitir para consoles." ], "tipTitle": "Por que o MaxLevelStore=info importa", "tipBody": "Um limiar mais rigoroso como warning faz ProxMenux Monitor mostrar entradas quase iguais em todos os períodos, pois a maioria da atividade é de nível info, e impede Fail2Ban de ver acessos falhados. Reduza o volume com SystemMaxUse e RateLimitBurst sem restringir os níveis guardados." }, "logrotate": { "heading": "Otimizar logrotate", "intro": "Reescreve /etc/logrotate.conf com definições globais diárias e de tamanho, 7 rotações retidas, compressão e copytruncate, para os serviços continuarem a escrever sem reabrir os registos. O tamanho aparece após a frequência diária e prevalece, salvo regras específicas de cada registo. O logrotate.conf original é copiado para .bak na primeira aplicação.", "tipTitle": "Compatível com Log2RAM", "tipBody": "A diretiva size 10M prevalece sobre a definição diária anterior; não significa o primeiro dos dois critérios. Logrotate verifica o limiar quando é executado, e regras específicas podem substituir as globais. Com /var/log na RAM do Log2RAM, verifique as regras e a frequência do temporizador para controlar o espaço." }, "limits": { "heading": "Aumentar vários limites do sistema", "intro": "Aumenta limites do kernel, systemd e PAM cujas predefinições podem ser baixas para um host com muitas VMs, contentores e serviços de rede.", "headerFile": "Arquivo", "headerSets": "O que define", "rows": [ { "file": "/etc/sysctl.d/99-maxwatches.conf", "sets": "fs.inotify.max_user_watches / max_user_instances / max_queued_events = 1048576" }, { "file": "/etc/sysctl.d/99-maxkeys.conf", "sets": "kernel.keys.maxkeys / root_maxkeys = 1000000" }, { "file": "/etc/sysctl.d/99-swap.conf", "sets": "vm.swappiness = 10, vm.vfs_cache_pressure = 100" }, { "file": "/etc/sysctl.d/99-fs.conf", "sets": "fs.nr_open / file-max = 2097152, fs.aio-max-nr = 1048576" }, { "file": "/etc/security/limits.d/99-limits.conf", "sets": "nofile e nproc a 1 048 576 (ilimitados para root)" }, { "file": "/etc/systemd/system.conf + user.conf", "sets": "DefaultLimitNOFILE=1048576 para serviços systemd" }, { "file": "/etc/pam.d/common-session + runuser-l", "sets": "session required pam_limits.so então o acima se aplica às shells de login" }, { "file": "/root/.profile", "sets": "ulimit -n 1048576 para a shell root" } ], "tipTitle": "Por que inotify é importante", "tipBody": "Docker, Syncthing, as monitorizações de ficheiros Node.js e análises Plex podem esgotar max_user_watches. A predefinição depende do kernel e da memória; nem sempre é 8192. O limite de 1M permite mais monitorizações sem as pré-alocar. As ativas consomem memória do kernel: controle a utilização nos hosts com pouca RAM." }, "memory": { "heading": "Otimizar as configurações de memória", "intro": "Escreve um perfil sysctl equilibrado para /etc/sysctl.d/99-memory.conf. Projetado para um host de hipervisor — prefere manter conjuntos de trabalho VM em RAM e libera páginas proativamente para que as rajadas de alocação não parem.", "warnTitle": "swappiness=10 em hosts com pouca memória", "warnBody": "Num host com 16 GB de RAM e muitas VMs, reduzir swappiness pode levar o kernel a terminar processos por falta de memória em vez de usar swap. Se os eventos OOM forem frequentes, aumente swappiness para 30–60 em /etc/sysctl.d/99-memory.conf após executar o script." }, "kexec": { "heading": "Activar reinicialização rápida (kexec)", "intro": "Instala o kexec-tools e o liga para que você possa reiniciar o host diretamente em um novo kernel sem passar pelo firmware BIOS/UEFI. Em grandes servidores onde POST leva 45 – 90 segundos, isso transforma uma reinicialização de uma pausa de café em alguns segundos de parada.", "installsTitle": "O que o ProxMenux instala", "installsItems": [ "Pacote kexec-tools (debconf pré-configurado com kexec-tools/load_kexec boolean false para o apt não pedir confirmação e manter desativado o carregamento automático ao desligar).", "Unidade systemd /etc/systemd/system/kexec-pve.service — carrega o kernel Proxmox e initrd em memória no arranque, reutilizando a linha de comandos atual do kernel.", "Um apelido em /root/.bash_profile: reboot-quick → systemctl kexec." ], "usageIntro": "Uso após a próxima reinicialização (ou manual systemctl start kexec-pve):", "warnTitle": "Quando não usar o kexec", "warnBody": "O kexec ignora o nível de firmware init. Se você confiar em BIOS/UEFI para redefinir o estado de hardware — por exemplo, um GPU fazendo a passagem que só repõe de forma limpa no POST completo, ou um firmware HBA problemático — o reboots do kexec pode deixar esses dispositivos em um estado semi-inicializado. Use um reboot normal após atualizações do kernel ou quando você precisar de alterações BIOS/UEFI para fazer efeito. reboot-quick é para reinícios diários." }, "panic": { "heading": "Habilite a reinicialização no kernel panic", "intro": "Faz o kernel reiniciar automaticamente em vez de ficar bloqueado no ecrã de panic. Essencial em hosts Proxmox remotos ou sem consola local: um kernel bloqueado para todas as VMs até poder desligar e voltar a ligar a alimentação.", "tipTitle": "Emparelha isto com o acesso remoto à consola", "tipBody": "Auto-reboot é um mecanismo de recuperação, não uma ferramenta de depuração. Se você quiser investigar um pânico em vez de apenas voltar, use a opção kexec acima com o suporte kdump do kernel (não configurado pelo ProxMenux) ou capture um console serial para outro host antes de habilitar o reinício automático." }, "verify": { "heading": "Verificação", "intro": "Após a aplicação das otimizações do sistema:", "tipTitle": "Restauro e limitações", "tipBody": "As seis opções ficam em installed_tools.json e Desinstalar otimizações. O restauro remove os ficheiros de configuração, a unidade e o alias kexec, reescreve journald.conf com os valores predefinidos do systemd e repõe logrotate.conf a partir da cópia de segurança. Alguns limites ativos precisam de nova sessão ou reinício." }, "related": { "heading": "Relacionado", "items": [ { "label": "Comandos úteis do sistema", "href": "/docs/help-info/system-commands", "tail": " — verificar as alterações (free -h, journalctl, ulimit -a)." }, { "label": "Desempenho", "href": "/docs/post-install/performance", "tail": " — afinação adicional do nível do sistema (pigz)." }, { "label": "Desinstalar otimizações", "href": "/docs/post-install/uninstall", "tail": " — reverter qualquer uma destas alterações." }, { "label": "Pós-instalação personalizável", "href": "/docs/post-install/customizable", "tail": " — voltar ao menu superior." } ] } }