Teste de desempenho com números primos em C
Estendendo o assunto de teste de desempenho com números primos em BASH que publiquei antes http://www.vivaolinux.com.br/script/Teste-de-desempenho-com-numeros-primos-em-BASH tive um tempinho e codifiquei também em C. Desta vez não compilei no SO do servidor, mas em desktop Windows com GCC mesmo. No período de quase uma hora rodando num Celeron D com 1 GB de memória, obtive UM resultado: Primo 1410065413 Primo 1410065441 Primo 1410065443 O Desktop apresenta alguns momentos de "stall", travamento, mas bem de leve. Tipo ao digitar demora pra sair do buffer. Vou compilar no servidor e executar com `time` como fiz com o BASH. Testem o desempenho e divirtam-se!
Por: Andre Miguel
Teste de desempenho com números primos em BASH
Certo dia me deparei com um bottom brincalhão que dizia: "Digite qualquer número primo de 11 dígitos para continuar". Fiquei com vontade de saber se havia tal número. Então fiz um shellzinho para testar. Primeiros 10, beleza; primeiros 100, beleza, primeiros 1000, já não estava mais tão rápido. Percebi a oportunidade de utilizar este script como benchmark de desempenho entre servidores, sejam de mesmo hardware ou não. Quando você executar, pode demorar a aparecer alguma coisa na tela, mas ele está rodando. Pode verificar com strace ou truss (Solaris). Após você testar e tiver a coragem de descomentar a linha do 10000000000, me poste aqui os números primos que você achou! Dica: para temporizar a execução, utilize a linha abaixo: $ bash primo.sh 2>&1 |egrep 'Primo|real' |awk '{if ($2 ~ /s/){split($2,minsplit,"m");min+=minsplit[1];seg+=substr($2,3,5);}else{print min,seg; print $0; min=seg=0; }}' Você deverá ter uma saída como esta: 0 0.1 Primo: 11 0 0.248 Primo: 13 0 0.587 Primo: 17
Por: Andre Miguel
Execução remota com SSH e HERE DOCUMENTS descomplicada
Tive um problema para executar shell scripts desenvolvidos em BASH script em máquinas remotas, pois o usuário utilizado tinha como shell padrão o C Shell ou o Korn Shell. Para fazer isso, utilizei conexão SSH, via chave já configurada, evitando ter que recolocar a senha, e o recurso de HERE DOCUMENTS do BASH. Também lancei mão da funcionalidade de "||", que significa que se o comando anterior executado retornou erro, faça outra coisa. Nesse caso em específico, eu tinha uma série de servidores em que o mesmo arquivo Perl (mesmo conteúdo, mesma finalidade), tinha nomes ligeiramente diferentes e versões velhas e desatualizadas (muita gente pondo a mão, se é que você me entende...). Ex: $ runall.pl e $ runalls2.pl Veja abaixo que o recurso de "||" me serviu para saber qual dos dois Perl scripts eu deveria executar. O script abaixo foi desenvolvido em BASH para "adiantar o serviço" de administrador de sistemas. É claro que há maneiras diferentes de se fazer, mas vale a dica. Ele está do jeito exato que está no arquivo, com
dado no lugar mais apropriado para sua execução, apenas alterei nomes de programas e diretórios. Por: Andre Miguel
Execução temporizada de programas
Tive uma situação em que precisava rodar um programa similar ao strace do Linux num Solaris - o aplicativo truss - para coletar dados de execução de uma aplicação da empresa. A aplicação envolve dezenas de processos simultâneos e que geram milhares de informações por segundo, sendo controlados por três processos principais. Estes processos principais não geram tantas informações por segundo como os outros, então o truss ficaria rodando interminavelmente até que eu fizesse um SIGINT ou SIGKILL. Criei um script em BASH, mesclado com pequenos códigos AWK, para que a execução capturasse determinada quantidade de informações e terminasse, ou que terminasse após um determinado tempo, independentemente da quantidade de informações coletada. Usei o nawk porque o gawk não tenho disponível nos servidores SUN.
Por: Andre Miguel
Ordenação de Bytes por Swap Nibble
É um script simples para ordenação de bytes por Swap Nibble numa string. Esse procedimento é usado em muitas áreas, desde programação de Circuitos Integrados (com Assembler), a sistemas de Telecom.
Por: Andre Miguel
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Dica para encontrar diversos jogos Indies criativos
Instalando Discord no Debian 13
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Falha add cluster Proxmox (2 nós) (2)
Software livre - será que eu estou tão errado assim? (18)
O que você está ouvindo agora? [2] (218)
Dificuldade com Ocs 2.12.3 no Debian 13 com Apache2 - Can't load ... (4)