성능을 확인하기 위해 일부 제온 머신에 액세스 할 수 있습니다. Haswell, Sandybridge, Ivybridge와 같은 아키텍처를 사용하고 싶습니다. 이것을 알아내는 명령이 있습니까?
답변
약간의 저렴한 해결 방법이지만 gcc에서 해당 정보를 얻을 수 있습니다! 설명하겠습니다 : gcc는 -march 옵션을 사용하여 각 하위 조직에 대한 바이너리를 최적화 할 수 있습니다. 또한 -march = native를 사용하여 사용자를 감지하고 컴퓨터에 자동으로 최적화 할 수 있으므로 march = native로 gcc를 호출하고 사용할 플래그를 물어보십시오.
gcc -march=native -Q --help=target|grep march
나를 위해 그것은 준다
-march= bdver1
하지만 내 PC는 amd buldozer 프로세서로 실행됩니다.
답변
“기술적”이름이 아닌 상업용 판매용 마케팅 이름이기 때문에 아마도 불가능할 것입니다.
그러나 dmidecode에서 필요한 것을 얻은 다음 http://ark.intel.com (Xeon 프로세서 용)을 방문 하여 상용 제품군을 결정할 수 있습니다.
[root@mediasrv ~]# dmidecode|grep -i intel
Socket Designation: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
Manufacturer: Intel
Version: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
그 결과, 인텔의 방주 웹 사이트를 방문하여 3770 CPU를 검색하면 Ivy Bridge 칩이 있음을 알 수 있습니다.
답변
다음은 자동으로 사용하여 CPU의 아키텍처 코드 명을 발견 bash는 스크립트 /proc/cpuinfo
와 https://ark.intel.com/은 . 작동하려면 강아지가 설치되어 있어야합니다.
내 컴퓨터에서 코드를 실행하면 다음 결과가 나타납니다.
$ ./intel_codename
Processor name: i7-7700HQ
Kaby Lake
#!/bin/bash
set -euo pipefail
if [[ $# == 0 ]]; then
modelname=$(cat /proc/cpuinfo | grep 'model name' | head -1)
if ! grep Intel <<<"$modelname" > /dev/null; then
echo "You don't seem to have an Intel processor" >&2
exit 1
fi
name=$(sed 's/.*\s\(\S*\) CPU.*/\1/' <<<"$modelname")
echo "Processor name: $name" >&2
else
name=$1
fi
links=($(curl --silent "https://ark.intel.com/search?q=$name" | pup '.result-title a attr{href}'))
results=${#links[@]}
if [[ $results == 0 ]]; then
echo "No results found" >&2
exit 1
fi
link=${links[0]}
if [[ $results != 1 ]]; then
echo "Warning: $results results found" >&2
echo "Using: $link" >&2
fi
url="https://ark.intel.com$link"
codename=$(curl --silent "$url" | pup '.CodeNameText .value text{}' | xargs | sed 's/Products formerly //')
echo "$codename"
답변
이 데이터는 PMU_NAME에 저장되며 다음을 입력하십시오.
cat /sys/devices/cpu/caps/pmu_name
haswell