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
- 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.
- Limpeza de Arquivos Temporários: Remove dados desnecessários nas pastas
TEMPeAppData\Local\Temp. - Limpeza do Cache DNS: Executa
ipconfig /flushdnspara melhorar o carregamento de sites e corrigir possíveis erros de DNS. - Coleta de Lixo (Garbage Collection): Libera memória não utilizada diretamente no Python.
- Verificação de SSD: Identifica automaticamente se a unidade principal é um SSD e evita desfragmentações desnecessárias.
- Desfragmentação de Disco: Quando aplicável, otimiza a organização dos dados no HD tradicional.
- 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
Comente só assim vamos crescer juntos!