Verificação de Acesso

Carregando...

Formulário de contato

Nome

E-mail *

Mensagem *

Este blog é um complemento do nosso canal no YouTube. Clique em @CanalQb para seguir e acompanhar nossos vídeos!

Imagem

Ferramenta Python para Otimizar o Desempenho do Windows


@CanalQb no YouTube


@CanalQb

Ferramenta Python para Otimizar o Desempenho do Windows


Sempre crie uma frase de segurança única para jogos, testnets ou airdrops e evite usar sua carteira principal.



Ferramenta Python para Otimizar o Desempenho do Windows

Este artigo apresenta um script Python completo que auxilia na otimização do sistema operacional Windows. Ele é útil para usuários que desejam melhorar a performance do computador, especialmente após longos períodos de uso. A ferramenta foi projetada para:

  • Reduzir a prioridade de processos desnecessários;
  • Limpar arquivos temporários do sistema;
  • Desfragmentar o disco (exceto SSDs);
  • Limpar cache DNS;
  • Exibir o uso atual de CPU e memória;
  • Executar tudo em sequência, com segurança.

Pré-requisitos e Considerações

Para utilizar este script de forma adequada, é necessário executar como administrador. Além disso, ele depende de bibliotecas como psutil e wmi (opcional, usada para verificar se a unidade é SSD).

Funcionalidades do Script

  1. Redução da Prioridade de Processos: Processos que não estão na lista de segurança (whitelist) terão sua prioridade diminuída para liberar mais recursos ao sistema.
  2. Limpeza de Arquivos Temporários: Remove dados desnecessários nas pastas TEMP e AppData\Local\Temp.
  3. Limpeza do Cache DNS: Executa ipconfig /flushdns para melhorar o carregamento de sites e corrigir possíveis erros de DNS.
  4. Coleta de Lixo (Garbage Collection): Libera memória não utilizada diretamente no Python.
  5. Verificação de SSD: Identifica automaticamente se a unidade principal é um SSD e evita desfragmentações desnecessárias.
  6. Desfragmentação de Disco: Quando aplicável, otimiza a organização dos dados no HD tradicional.
  7. Exibição de Uso de CPU e Memória: Mostra em tempo real o consumo do sistema.

Script Python Completo

import psutil
import os
import shutil
import ctypes
import subprocess
import platform
import time 

ctypes.windll.kernel32.SetConsoleTitleW("CanalQb - Otimiza performance") 

WHITELIST = {
    "System", "System Idle Process", "svchost.exe", "explorer.exe",
    "winlogon.exe", "csrss.exe", "services.exe", "lsass.exe"
}

def is_admin():
    try:
        return ctypes.windll.shell32.IsUserAnAdmin()
    except:
        return False

def set_low_priority():
    print("[*] Reduzindo prioridade de processos não essenciais...")
    for proc in psutil.process_iter(['pid', 'name']):
        try:
            name = proc.info['name']
            if name in WHITELIST:
                continue
            process = psutil.Process(proc.info['pid'])
            process.nice(psutil.IDLE_PRIORITY_CLASS)
            print(f"✓ {name} (PID {proc.info['pid']}) -> prioridade baixa")
        except (psutil.NoSuchProcess, psutil.AccessDenied):
            pass

def clear_temp_dirs():
    print("[*] Limpando arquivos temporários...")
    temp_dirs = [
        os.getenv('TEMP'),
        os.getenv('TMP'),
        os.path.expanduser('~\\AppData\\Local\\Temp'),
    ]
    for temp_dir in temp_dirs:
        if temp_dir and os.path.exists(temp_dir):
            for filename in os.listdir(temp_dir):
                file_path = os.path.join(temp_dir, filename)
                try:
                    if os.path.isfile(file_path) or os.path.islink(file_path):
                        os.unlink(file_path)
                    elif os.path.isdir(file_path):
                        shutil.rmtree(file_path, ignore_errors=True)
                except Exception:
                    pass
            print(f"✓ Limpou: {temp_dir}")

def clear_dns_cache():
    print("[*] Limpando cache DNS...")
    try:
        subprocess.run("ipconfig /flushdns", shell=True, check=True)
        print("✓ Cache DNS limpo")
    except subprocess.CalledProcessError:
        print("✗ Falha ao limpar cache DNS")

def collect_garbage():
    print("[*] Liberando memória inativa...")
    try:
        import gc
        gc.collect()
        print("✓ Coleta de lixo feita")
    except ImportError:
        print("✗ Falha ao usar coleta de lixo")

def is_ssd(drive_letter="C:"):
    try:
        import wmi
        c = wmi.WMI()
        for disk in c.Win32_DiskDrive():
            for partition in disk.associators("Win32_DiskDriveToDiskPartition"):
                for logical_disk in partition.associators("Win32_LogicalDiskToPartition"):
                    if logical_disk.DeviceID == drive_letter:
                        media_type = disk.MediaType if hasattr(disk, 'MediaType') else ""
                        if "SSD" in media_type or "Solid State" in media_type:
                            return True
        return False
    except ImportError:
        return False

def defragment_drive(drive_letter="C:"):
    print("[*] Checando se deve desfragmentar disco...")
    if is_ssd(drive_letter):
        print("✓ Unidade SSD detectada. Não será feita desfragmentação.")
        return
    print(f"[*] Desfragmentando drive {drive_letter} (pode demorar)...")
    try:
        subprocess.run(f'defrag {drive_letter} /O', shell=True, check=True)
        print("✓ Desfragmentação concluída")
    except subprocess.CalledProcessError:
        print("✗ Falha ao desfragmentar")

def show_usage():
    cpu = psutil.cpu_percent(interval=1)
    mem = psutil.virtual_memory()
    print(f"📊 Uso atual - CPU: {cpu}% | Memória: {mem.percent}%")

def menu():
    while True:
        print("\n=== Menu de Otimização do Sistema ===")
        print("1. Reduzir prioridade de processos")
        print("2. Limpar arquivos temporários")
        print("3. Limpar cache DNS")
        print("4. Liberar memória (garbage collector)")
        print("5. Desfragmentar disco (C:)")
        print("6. Ver uso atual de CPU/memória")
        print("7. Executar todas as otimizações")
        print("0. Sair")

        opcao = input("\nEscolha uma opção: ").strip()

        if opcao == "1":
            set_low_priority()
        elif opcao == "2":
            clear_temp_dirs()
        elif opcao == "3":
            clear_dns_cache()
        elif opcao == "4":
            collect_garbage()
        elif opcao == "5":
            defragment_drive()
        elif opcao == "6":
            show_usage()
        elif opcao == "7":
            show_usage()
            set_low_priority()
            clear_temp_dirs()
            clear_dns_cache()
            collect_garbage()
            confirm = input("Deseja desfragmentar o disco também? (s/n): ").strip().lower()
            if confirm == "s":
                defragment_drive()
            show_usage()
        elif opcao == "0":
            print("Saindo...")
            break
        else:
            print("Opção inválida. Tente novamente.")

if __name__ == "__main__":
    if not is_admin():
        print("⚠️ Execute este script como administrador!")
        input("Pressione Enter para sair...")
        exit(1)

    menu()

Download e Fonte do Projeto

Este script pode ser adaptado e expandido conforme a necessidade do usuário. Ele não possui interface gráfica, mas é simples de usar e ideal para quem quer controlar melhor o desempenho do Windows via terminal. Para maiores informações sobre a biblioteca psutil, acesse o site oficial: github.com/giampaolo/psutil.

Responsabilidade de Uso

Aviso: Esta ferramenta é oferecida para fins educacionais e não deve ser executada sem entendimento prévio. Faça uma análise pessoal dos efeitos de cada comando antes de aplicá-lo em ambientes de produção ou em seu sistema principal.

Comentários