Como posso obter a velocidade da CPU como *. ** GHz?

1

Atualmente, uso indicator-sysmonitor para ver minha porcentagem de CPU e RAM na bandeja do sistema. Mas eu gostaria de adicionar minha velocidade de CPU. Agora eu sei que existem vários comandos (por exemplo, lscpu | grep "CPU-frequentie" (holandês)) para obter a velocidade da CPU, mas eu quero de uma forma como esta: 2,85 GHz.

Como altero uma saída como 2850.153 para algo como 2,85 GHz?

    
por Mason 30.01.2017 / 18:27

2 respostas

0

Após algumas experiências, fiz um script que retorna algo como 3,12GHz ou 2,80GHz. Força a saída a ser X.XXGHz.

Primeiro, usei um script de esta resposta .

Depois, fiz este script:

#!/bin/bash

speed=$(div $(lscpu | grep CPU-frequentie | awk '{print ;}' | cut -d'.' -f1) 1000 | awk '{print substr(,2); }' | cut -c -4)

if [ ${#speed} -ge 4 ]; then :
else speed=$speed"0"
fi

echo $speed"GHz"
    
por Mason 30.01.2017 / 19:58
1

Você pode encontrar o seguinte um exemplo mais curto:

#!/bin/sh
lscpu |awk -F : '(=="CPU MHz") {printf "%3.2fGHz\n", /1000}'

Note que, no meu sistema, usando uma CPU AMD e uma versão lscpu 2.27.1 no servidor Ubuntu 16.04 (64 bits) eu tenho linhas na saída da seguinte forma:

CPU MHz:               4000.000
CPU max MHz:           4000.0000
CPU min MHz:           1400.0000

O comando awk usa ":" como o separador de campo. Procura a linha que inicia "CPU MHz" e depois imprime simplesmente o valor acima de 1000 (converte MHz para GHz) usando o formato 3.2 - três algarismos significativos com duas casas decimais.

Da sua pergunta, você parece estar procurando por "CPU-frequentie" é a saída lscpu. Eu não sei como é a saída do seu lscpu, mas eu suponho que você pode precisar substituir "CPU-frequentie" por "CPU MHz" na linha awk

Para completar, a saída que recebo no meu sistema é:

4.00GHz
    
por Nick Sillito 30.01.2017 / 21:30