Script para teste de THP no sistema

Publicado por Sidnei Serra (última atualização em 04/10/2025)

[ Hits: 53 ]

Homepage: https://www.youtube.com/channel/UCRgokKtNlttdmg2RJEa2VYw

Download thp




Nesse artigo - https://www.vivaolinux.com.br/artigo/O-que-o-THP-na-configurao-de-RAM-do-Linux-e-quando-desabilit-lo - mostro o que é THP (Transparent Huge Pages) e aqui coloco um script para testar o seu sistema para ver se vale a pena ou não desabilitá-lo. Instale o pacote bc antes de fazer o teste.

  



Esconder código-fonte

#!/bin/bash
# thp_compare_final2.sh
# Teste de THP - instale o pacote bc no seu sistema

SIZE_MB=1024

run_test() {
    local thp_state="$1"
    # Ajusta THP
    echo "$thp_state" | sudo tee /sys/kernel/mm/transparent_hugepage/enabled > /dev/null
    echo "$thp_state" | sudo tee /sys/kernel/mm/transparent_hugepage/defrag > /dev/null

    START=$(date +%s.%N)
    python3 - << PYTHON
import time
SIZE_MB = $SIZE_MB
a = bytearray(SIZE_MB * 1024 * 1024)
time.sleep(2)
del a
PYTHON
    END=$(date +%s.%N)
    # Calcula tempo
    ELAPSED=$(echo "$END - $START" | bc -l)
    echo "$ELAPSED"
}

# Salva estado atual do THP
CURRENT_THP=$(cat /sys/kernel/mm/transparent_hugepage/enabled | grep -oP '\[.*?\]' | tr -d '[]')
echo "Estado atual do THP: $CURRENT_THP"

# Teste com THP ativo
TIME_ON=$(run_test always)

# Teste com THP desativado
TIME_OFF=$(run_test never)

# Mostra resultados
echo ""
echo "Tempo com THP=always : $TIME_ON s"
echo "Tempo com THP=never  : $TIME_OFF s"

# Comparação correta usando bc
IS_ON_BETTER=$(echo "$TIME_ON < $TIME_OFF" | bc -l)
IS_OFF_BETTER=$(echo "$TIME_ON > $TIME_OFF" | bc -l)

if [ "$IS_ON_BETTER" -eq 1 ]; then
    echo "THP ativo foi mais rápido"
elif [ "$IS_OFF_BETTER" -eq 1 ]; then
    echo "THP desativado foi mais rápido"
else
    echo "Não houve diferença significativa"
fi

# Restaura estado original
echo "$CURRENT_THP" | sudo tee /sys/kernel/mm/transparent_hugepage/enabled > /dev/null
echo "$CURRENT_THP" | sudo tee /sys/kernel/mm/transparent_hugepage/defrag > /dev/null
echo "Estado do THP restaurado para: $CURRENT_THP"

Scripts recomendados

Inversor de Links com YAD

Script para compactar/descompactar arquivos e diretórios utilizando Xdialog

Script para renomear vários arquivos ao mesmo tempo.

Script TV

pc-qemu.sh - Script configurador para QEMU


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts