web-dev-qa-db-fra.com

Comment puis-je obtenir la vitesse du processeur en *. ** GHz?

J'utilise actuellement indicator-sysmonitor pour afficher ma CPU et le pourcentage de [RAM] _ dans la barre d'état système. Mais je voudrais ajouter ma vitesse de processeur. Maintenant, je sais qu’il existe plusieurs commandes (par exemple, lscpu | grep "CPU-frequentie" (néerlandais)) pour obtenir la vitesse du processeur, mais j’aimerais vouloir ceci: 2,85 GHz.

Comment puis-je modifier une sortie telle que 2850.153 en quelque chose comme 2,85 GHz?

1
Mason

Après quelques expériences, j'ai créé un script qui renvoie quelque chose comme 3.12GHz ou 2.80GHz. Cela force la sortie à être X.XXGHz.

Tout d'abord, j'ai utilisé un script de cette réponse .

Ensuite, j'ai fait ce script:

#!/bin/bash

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

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

echo $speed"GHz"
0
Mason

Vous trouverez ci-dessous un exemple plus court:

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

Notez que, sur mon système, utilisant un processeur AMD et la version 2.27.1 de lscpu sur le serveur Ubuntu 16.04 (64 bits), j’ai des lignes dans la sortie, comme suit:

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

La commande awk utilise ":" comme séparateur de champ. Il recherche la ligne commençant par "CPU MHz", puis affiche simplement la valeur sur 1000 (conversion MHz en GHz) au format 3.2 - trois chiffres significatifs avec deux décimales.

D'après votre question, vous semblez rechercher "CPU-frequentie" est la sortie lscpu. Je ne sais pas à quoi ressemble la sortie de votre lscpu, mais je suppose que vous devrez peut-être remplacer "CPU-frequente" par "CPU MHz" dans la ligne awk

Pour être complet, le résultat obtenu sur mon système est le suivant:

4.00GHz
1
Nick Sillito