Questão de Sistemas Operacionais — Desempenho — Quadrix 2024
- Código
- qg347369
- Banca
- Quadrix
- Órgão
- CFP
- Ano
- 2024
- Nível
- Superior
- Cargo
- Analista Técnico/TI/Suporte
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: ERRADO. O parâmetro vm.swappiness do kernel Linux não tem relação com fila de conexões TCP — ele controla a tendência do sistema em usar a área de swap (memória de troca) em vez da memória RAM quando há pressão de memória. A fila de conexões TCP pendentes é gerenciada por outros mecanismos, como o somaxconn e o tcp_max_syn_backlog, não pelo vm.swappiness.
O vm.swappiness é um parâmetro do subsistema de gerência de memória do kernel Linux, acessível via sysctl ou no arquivo /proc/sys/vm/swappiness. Seu valor varia de 0 a 100 (em algumas versões, até 200) e indica o quão agressivamente o kernel trocará páginas de memória para o disco quando a memória RAM estiver em uso intenso. Um valor baixo (ex.: 10) faz o kernel preferir manter páginas na RAM, reduzindo o uso de swap; um valor alto (ex.: 100) faz o kernel usar swap mais prontamente. É uma ferramenta de otimização de desempenho de memória, não de rede.
A confusão da questão está em misturar dois domínios distintos do sistema operacional: gerência de memória (onde o vm.swappiness atua) e rede/stack TCP (onde ficam as filas de conexões). A fila de conexões TCP pendentes (backlog) é controlada por parâmetros como net.core.somaxconn e net.ipv4.tcp_max_syn_backlog, que definem o tamanho máximo da fila de conexões aguardando aceite pelo servidor. Esses parâmetros ficam no subsistema de rede (net.*), não no de memória (vm.*).
Na prática, um administrador que deseja ajustar o desempenho de um servidor web com muitas conexões simultâneas deve olhar para os parâmetros de rede, enquanto o vm.swappiness é relevante para cenários de memória insuficiente, onde o sistema precisa decidir entre manter processos na RAM ou movê-los para o swap. A banca explora exatamente essa troca de contexto: quem conhece o nome do parâmetro mas não sua função pode ser induzido a aceitar a afirmação.
A banca troca o domínio de atuação do parâmetro: vm.swappiness é de memória (swap), mas a afirmação o descreve como se fosse de rede (fila TCP). O candidato que sabe que swappiness existe, mas não sabe o que ele faz, cai na armadilha. Lembre-se: vm.* = memória virtual; net.* = rede.
A afirmação está incorreta porque atribui ao vm.swappiness uma função que ele não possui. O parâmetro vm.swappiness controla a propensão do kernel a usar swap (memória de troca em disco) quando a RAM está sob pressão, e não o tamanho da fila de conexões TCP pendentes. A fila de conexões pendentes é definida por parâmetros do subsistema de rede, como net.core.somaxconn (tamanho máximo da fila de aceite) e net.ipv4.tcp_max_syn_backlog (tamanho máximo da fila de conexões em estado SYN-RECEIVED). Portanto, a assertiva está errada.
Gabarito: ERRADO
Link permanente: /questoes/qg347369