CPU 온도는 어떻게 얻습니까?


답변:


584

lm- 센서 설치 lm- 센서 설치

sudo apt-get install lm-sensors 

설치 후 터미널에 다음을 입력하십시오

sudo sensors-detect

당신은 또한 실행해야 할 수도 있습니다

sudo service kmod start

몇 가지 질문을 할 것입니다. 모두 예라고 대답하십시오. 마지막으로 sensors터미널에서 CPU 온도 유형을 얻으십시오 .

sensors

산출:

$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +41.0°C  (high = +78.0°C, crit = +100.0°C)  

coretemp-isa-0001
Adapter: ISA adapter
Core 1:      +41.0°C  (high = +78.0°C, crit = +100.0°C)  

w83627dhg-isa-0290
Adapter: ISA adapter
Vcore:       +1.10 V  (min =  +0.00 V, max =  +1.74 V)   
in1:         +1.60 V  (min =  +1.68 V, max =  +1.44 V)   ALARM
AVCC:        +3.30 V  (min =  +2.98 V, max =  +3.63 V)   
VCC:         +3.28 V  (min =  +2.98 V, max =  +3.63 V)   
in4:         +1.85 V  (min =  +1.66 V, max =  +1.11 V)   ALARM
in5:         +1.26 V  (min =  +1.72 V, max =  +0.43 V)   ALARM
in6:         +0.09 V  (min =  +1.75 V, max =  +0.62 V)   ALARM
3VSB:        +3.30 V  (min =  +2.98 V, max =  +3.63 V)   
Vbat:        +3.18 V  (min =  +2.70 V, max =  +3.30 V)   
fan1:          0 RPM  (min = 10546 RPM, div = 128)  ALARM
fan2:        892 RPM  (min = 2136 RPM, div = 8)  ALARM
fan3:          0 RPM  (min = 10546 RPM, div = 128)  ALARM
fan4:          0 RPM  (min = 10546 RPM, div = 128)  ALARM
fan5:          0 RPM  (min = 10546 RPM, div = 128)  ALARM
temp1:       +36.0°C  (high = +63.0°C, hyst = +55.0°C)  sensor = diode
temp2:       +39.5°C  (high = +80.0°C, hyst = +75.0°C)  sensor = diode
temp3:      +119.0°C  (high = +80.0°C, hyst = +75.0°C)  ALARM  sensor = thermistor
cpu0_vid:   +2.050 V

HDD 온도를 보려면 hddtemp를 설치 하십시오 hddtemp 설치

sudo apt-get install hddtemp

산출:

$ sudo hddtemp /dev/sda        
/dev/sda: ST3160813AS: 34°C

4
모든 하드웨어에서 작동하는 것은 아닙니다. 내 시스템에서는 sensors항상 + 40.0 ° C의 온도를 보여줍니다.
Keith Thompson

6
13.04 시스템에서는 sudo service kmod start대신sudo service module-init-tools start
knb

82
watch sensors매 초마다 온도 값이 업데이트 되는 것을 볼 수 있습니다 .
Drew Noakes

16
위험에 대한 경고를 제공합니다. 모든 것에 "예"라고 대답해야합니까? 나는 그들이 재미가 해당 메시지를 넣어 가지고 생각하지 않는다 ...
stommestack

6
모든 센서 감지 질문에 예라고 대답하려면 다음을 실행하십시오.yes yes | sensors-detect
hanshenrik

147

빠른 명령 줄 솔루션; 섭씨 온도 (m ° C)로 표시

cat /sys/class/thermal/thermal_zone*/temp

애플릿

접근하기 쉬운 버전을 찾고 있다면 Gnome-Panel에 Hardware Sensors Monitor 를 추가하십시오 :

  1. sudo apt-get install sensors-applet- 센서-애플릿 센서 애플릿 설치 패키지를 설치합니다
  2. 패널을 마우스 오른쪽 버튼으로 클릭하고을 선택한 Add to panel...후 다음을 선택하십시오. 대체 텍스트

  3. 끝났습니다. 애플릿을 마우스 오른쪽 버튼으로 클릭하고을 선택하여 표시 할 센서를 구성 할 수 있습니다 Preferences->Sensors.

    대체 텍스트


12
명령 행 솔루션이 모두 작동하지 않을 수도 있습니다. 경로는 커널 버전마다 다르기 때문입니다.
karthick87

3
그래, 그것은 나를 위해 작동하지 않았다.
8128

3
내 Ubuntu 12.04 시스템에는 없습니다 /proc/acpi/thermal_zone/THRM/temperature. 실제로 /procnamed 에는 아무것도 없습니다 temperature.
Keith Thompson

13
'/ proc'은 더 이상 사용되지 않기 때문입니다. '/ sys / class / thermal / thermal_zone0 / temp'
시도

4
어떤 단위 cat /sys/class/thermal/thermal_zone0/temp? C / F로 변환 할 수 있습니까? ... 처음 두 자리는 소수점 이하 앞의 두 자리 숫자이고 다음은 섭씨 소수점 이하 자릿수입니다.
dylnmc

104

온도, 팬 속도 및 전압을 모니터링하는 좋은 지표는 psensor 입니다. 모든 센서의 출력을 보여주고 그래프를 그립니다. 또한 선택된 출력을 표시기 패널에 배치 할 수 있습니다.

행동 psensor

다음을 입력하여 Ubuntu 저장소에서 설치할 수 있습니다.

sudo apt-get install psensor

ppa에서 최신 버전의 psensor를 설치할 수 있습니다.

sudo add-apt-repository ppa:jfi/ppa
sudo apt-get update
sudo apt-get install psensor

그래프 열에서 상자를 선택하면 그래프를 그릴 수도 있습니다.

스크린 샷

더 많은 사진과 함께 몇 가지 정보가 있습니다.

또 다른 유용한 링크

경우에 따라 모든 센서가 표시되는 것은 아닙니다. 그럼 당신은 실행할 수 있습니다

sudo sensors-detect

모든 질문에 "예"라고 대답하십시오. 그러나 어떤 경우에는 안전하지 않지만 실제로는 아무런 문제가 없었습니다. 더 안전한 방법은 기본 답변을받는 것입니다.

일부 추가 센서가 나타날 수 있습니다.


이건 폭탄입니다. 바로
SDsolar

내 우분투 16.04에서 psensor때로는 30 % CPU를 사용하여 온도를 높입니다.
dirkjot

2
똥 앱. 100 %의 CPU를 차지
raaj

문제는 여전히 지속됩니다. 앱을 사용할 수 없습니다.
유진

@raaj-이 버그가 어딘가에보고됩니까?
Mateusz Konieczny 2016 년

54

타사 앱이없는 온도

글을 쓰는 시점에서 모든 답변에는 타사 유틸리티 사용이 포함됩니다. 아무것도 설치하지 않고 온도를 찾으려면 다음을 사용하십시오.

$ cat /sys/class/thermal/thermal_zone*/temp
20000
53000
50000
53000
56000
68000
49000
50000

온도가 참조하는 영역을 확인하려면 다음을 수행하십시오.

$ paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) | column -s $'\t' -t | sed 's/\(.\)..$/.\1°C/'
INT3400 Thermal  20.0°C
SEN1             45.0°C
SEN2             51.0°C
SEN3             57.0°C
SEN4             59.0°C
pch_skylake      77.5°C
B0D4             50.0°C
x86_pkg_temp     51.0°C

온도는 소수점 이하 3 자리로 섭씨로 저장됩니다. sed출력을 "prettify"하는 데 사용됩니다.

마지막 온도는에 x86_pkg_temp보고됩니다 54.0°C. Skylake i7 6700HQ CPU의 경우 아래의 Conky 디스플레이에이 온도를 사용했습니다.

Conky를 가진 온도

타사 유틸리티가 마음에 들지 않으면 경량 시스템 모니터 인 Conky를 사용하고 싶습니다.

Conky 명령

conky 내에서 Ivy Bridge CPU를 모니터링하는 데 사용한 시스템 변수는 다음과 같습니다.

${hwmon 2 temp 1}°C

사용한 Skylake CPU를 모니터링하려면 다음을 사용하십시오.

${hwmon 0 temp 1}°C

콘키 디스플레이

conky 디스플레이는 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

온도는 3200MHz의 터보 모드에서 100 %로 실행되는 단일 CPU로 72 ° C에서 시작합니다. 그런 다음 터보가 꺼지고 2600 MHz의 비 터보 속도로 온도가 10 ° C에서 62 ° C로 떨어집니다. 10 초 후 터보가 다시 켜지고 온도가 즉시 최대 72 ° C로 상승합니다.


온도 제어

온도를 알고 나면 온도를 더 잘 제어하고 싶을 것입니다. tlp시스템을 통제하기 위해 놀라운 일을합니다. thermald, Intel Powerclamp, Battery vs AC for USB power 등과 함께 작동합니다 . 고도로 구성 가능하지만 쾌적한 Out-Of-The-Box 환경을 위해 구성 설정을 변경할 필요는 없습니다. 그것을 사용하기 전에 나는 항상 IvyBridge 랩탑 과열과 관련된 모든 종류의 문제가있었습니다. 새 Skylake 랩톱에서 사용할 수 있으며 Ubuntu 16.04 LTS를 18.04로 업그레이드 할 때를 제외하고는 팬이 절대로 실행되지 않습니다.

설치 지침을 통해 매우 자세한 기록을 얻을 수 있습니다. CPU 과열 방지


2
이것은 어떤 단위입니까? 사과? 1/1000도? 59/29402 ° F?
Blauhirn

@Blauhirn Linux는 온도를 섭씨 69.000 도인 "69000"으로보고합니다. 내 모든 리눅스가 그런 식으로 그것을 포맷 이유를 잘 모르겠어요 그래서 항상 묵시적 소수점 후 "000"가 될 것 테스트 어깨를 으쓱 . 귀하의 의견에 감사드립니다. 현재 버전으로 conky 디스플레이를 업데이트 할 수있었습니다.
WinEunuuchs2Unix

귀하의 인용문은 48000이지만 텍스트는 섭씨 57 도라고 말합니까? 혼란 스러워요.
일요일

@Sun 나는 새로운 프로세서를 사용하여 원 라이너를 재생성했으며 설명을 올바르게 수정하지 않았습니다. 결정된!
WinEunuuchs2Unix

1
@ncoghlan 감사합니다. .5가끔 나타나고 sed개정판이 잘 처리합니다.
WinEunuuchs2Unix

37

hardinfo hardinfo 설치 는 모든 하드웨어 정보를 얻는 데 유용한 도구입니다.

로 하드 정보를 설치하십시오 sudo apt-get install hardinfo. 그런 다음 센서로 온도를 얻을 수 있습니다.

감지기


22
센서를 제외한 모든 단일 페이지 채우기를 제외한 멋진 도구 (예 : 비어 있음)
frumbert

15
센서에서 작동하지 않음
Mudit Kapil

@ frumbert 나는 그것이 달려 있다고 생각한다 lm-sensors!
Pandya

나는 또한 ARP 테이블을 좋아한다. 서브넷에 무엇이 연결되어 있는지 확인하는 데 매우 편리합니다.
SDsolar

이 프로그램에서 벤치 마크는 상당히 구식입니다.
Andriy Makukha

32
  1. 이 명령으로 작은 acpi 패키지를 설치하십시오acpi 설치

    sudo apt-get install acpi
    
  2. 처음으로 Y를 눌러 확인해야합니다. 이제 온도를 찾으려면이 명령을 입력하십시오

    acpi -t
    

23
에 대한 답변보다 간단합니다 lm-sensors. 당신은 차이를 설명 할 수 acpilm-sensors?
fikr4n

1
우분투 16.04에서 Skylake Laptop은 acpi -t아무것도 출력하지 않습니다. 유효한 옵션이며 작동하지 않습니다-version : acpi 1.7.
WinEunuuchs2Unix

grml live CD 시스템에서 Core i3 프로세서의 각 다이 온도를 모니터링하는 데 성공적으로 사용 acpi -t했습니다 . grml에 사전 설치되어 있지 않으며 다른 패키지를 설치할 수 없습니다. grml.orglm-sensors
Daniel

20

XS 센서

XSensors는 온도, 전압 및 팬 속도와 같은 하드웨어 상태와 관련하여 libsensors 라이브러리에서 데이터를 읽고 디지털 판독 값으로 정보를 표시합니다.

터미널을 열고 다음을 입력하십시오.

sudo apt-get install xsensors lm-sensors

그런 다음 터미널을 열고 명령을 실행하여 컴퓨터의 하드웨어 센서를 감지하십시오.

sudo sensors-detect

그러면 프로그램이 탐지 할 하드웨어에 대해 많은 질문을 받게됩니다. 수행중인 작업을 모르는 경우 일반적으로 안전하고 모든 질문에 대한 기본 답변을 수락하는 것이 좋습니다.

XSensors 스크린 샷

Xsensors vs. Psensor

XSensor와 Psensor는 모두 컴퓨터의 온도와 팬 속도를 모니터링합니다. 두 응용 프로그램의 차이점은 표시되는 정보의 세부 수준과 정보 표시 방법에 있습니다.

XSensor는 Psensor보다 조금 더 구체적인 정보를 표시합니다. Psensor는 XSensor보다 작고 눈에 거슬리지 않으며 시계 옆의 오른쪽 상단 모서리에있는 알림 영역에 작은 온도계 아이콘으로 바탕 화면에 표시됩니다. 언제든지 온도계 아이콘을 마우스 오른쪽 버튼으로 클릭하여 하드웨어 온도를 표시 할 수 있습니다.

컴퓨터의 하드웨어를 감지하도록 Psensor를 설정하는 것은 컴퓨터의 하드웨어 센서를 감지하기 위해 lm- 센서를 설치함으로써 Xsensor와 동일한 방식으로 수행됩니다. 그런 다음 명령을 실행하는 컴퓨터의 하드웨어 센서를 감지하십시오.

sudo sensors-detect  

Xsensor와 마찬가지로 모든 질문에 대한 기본 답변을 수락하십시오.

Ubuntu 16.04 이상에서 Psensor는 실행하지 않고 컴퓨터의 하드웨어 센서를 자동으로 감지합니다. sudo sensors-detect


2
Psensor는 더 발전된 것 같습니다
Serge

1
동의합니다. @Serge. psensor는 내가 사용할 것입니다.
SDsolar

또한 Psensor를 사용합니다.
karel

17

lm- 센서를 설치 한 후 :

sudo apt-get install lm-sensors

운영:

sudo sensors-detect

다음 명령을 실행하여 하드웨어 온도를 볼 수 있습니다.

watch -n 1 sensors

또한 팬은 일반적으로 BIOS에 의해 제어됩니다.


12
나는 시계 사용에 대한 팁을 좋아하는데, 그것은 내가 가장 좋아하는 것 중 하나입니다. 또한 차이점을 강조하기 위해 -d 옵션을 추가하는 것이 좋습니다.
Joshua K

이로 인해 100 % CPU (섭씨 77도)를 실행하는 Ubuntu 16.0.4 LTS의 i7-3770에서 4 가지 핵심 온도 판독 값을 얻었습니다.
Sun

12

Raspberry Pi에서 다음을 사용하여 온도를 검색 할 수 있습니다 vcgencmd.

vcgencmd measure_temp

산출:

temp=39.0'C

2
아니, 그것은 당신에게 주파수를 줄 것입니다. 사용vcgencmd measure_temp
MrD

죄송합니다, 매우 고통스러운 복사 및 붙여 넣기 실수 :)
Ercksen

9

아시다시피이 설치 쓰레기 sensors는 필요하지 않습니다. 그냥 acpi -VBOOM 만하면 됩니다. 예:

Battery 0: Charging, 91%, 00:17:25 until charged
Battery 0: design capacity 3310 mAh, last full capacity 3309 mAh = 99%
Adapter 0: on-line
Thermal 0: ok, 40.0 degrees C
Thermal 0: trip point 0 switches to mode critical at temperature 127.0 degrees C
Thermal 0: trip point 1 switches to mode hot at temperature 127.0 degrees C
Cooling 0: pkg-temp-0 no state information available
Cooling 1: LCD 0 of 100
Cooling 2: Processor 0 of 10
Cooling 3: Processor 0 of 10
Cooling 4: Processor 0 of 10
Cooling 5: Processor 0 of 10

이 모든 방법과 kmod를 설치하는 것보다 쉬운 방법 ... acpi -V를 수행하십시오.


25
맞습니다… 설치하지 않아도됩니까? 잘못된! The program 'acpi' is currently not installed. You can install it by typing: sudo apt-get install acpi
e-sushi

8
또한 항상 동일한 정보를 제공하지는 않습니다. 내 컴퓨터 sensors에서 온도를 제공하지만 acpi -V불행히도 그것에 대해 아무것도 표시하지 않습니다.
Per Lundberg

1
acpi -V스카이 레이크 노트북, 우분투 16.04, ACPI 버전 1.7 고장
WinEunuuchs2Unix

5
/sys/class/thermal/thermal_zone0/temp

이 파일은 CPU 온도를 유지합니다. 따라서 이름이 지정된 스크립트를 만들어 터미널 enter temp로 이동 /bin하십시오 temp.

temp파일은 다음과 같습니다-

 #!/bin/bash
 cpu_temp=$(< /sys/class/thermal/thermal_zone0/temp)
 cpu_temp=$(($cpu_temp/1000))
 echo $cpu_temp°C

내 대답은 www.cyberciti.biz 로 수정되었습니다.


다른 위치에서 4 대의 기계를 시험해 보았는데 모두 동일한 판독 값 = 27800을 제공합니다. 이것이 왜 가능한지 아십니까? 모두 같은 CPU 온도를 가질 수는 없습니다.
Katu

@Katu 27.8도를 의미한다고 생각합니다. 다른 프로그램을 사용하고 코어 0이 49 C라는 것을 알았습니다. 그런 다음 위의 명령을 수행하고 49000을 얻었습니다.
Philip Kirkbride

5

모든 배쉬 :

getTemp () {
  for zone in `ls /sys/class/thermal/ | grep thermal_zone`
  do
    echo -n "`cat /sys/class/thermal/$zone/type`: "
    echo `cat /sys/class/thermal/$zone/temp | sed 's/\(.\)..$/.\1°C/'`
  done
}

getProcesses() {
  top -b -n 1 | head -n 12  | tail -n 6
}

update () {
  while :
  do
    clear
    getTemp
    echo -e "\nTop 5 CPU hogs:"
    getProcesses
    sleep 5
  done
}


update

1
실제로 꽤 좋은 스크립트입니다.
Philippe Delteil

4

파이썬을 좋아한다면을 사용할 수 있습니다 psutil.

>>> import psutil
>>> psutil.sensors_temperatures()['coretemp']
[shwtemp(label='Physical id 0', current=67.0, high=100.0, critical=100.0), shwtemp(label='Core 0', current=67.0, high=100.0, critical=100.0), shwtemp(label='Core 1', current=65.0, high=100.0, critical=100.0)]

... 일을 할 것입니다. 약간의 코딩으로 예를 들어 시스템의 Temp vs CPU를 얻을 수 있습니다.

여기에 이미지 설명을 입력하십시오

psutil발행 하여 업데이트 하는 것이 편리합니다 sudo pip3 install psutil --upgrade.


파이썬 2에는 있지만 sensors_temperatures속성이 없으며 파이썬 3에는 없습니다. 우분투 14.04를 사용하고 있습니다. 어떻게 알 수 있습니까?
wjandrea

어떤 버전의 psutil을 사용하고 있습니까? 광산은 5.4.3입니다. 버전을 업그레이드하십시오 : sudo pip2 install psutil --upgrade.
Lucas Aimaretto

1
Python 2에서 1.2.1을 사용하고 있으며 업그레이드가 실패합니다 (14.04의 Python 2는 실제로 구식이므로 걱정하지 않습니다). 방금 Python 3에 5.4.3을 설치했습니다 sudo pip3 install psutil --upgrade. 답변에 추가해 주시겠습니까?
wjandrea

이 줄거리에서 x 축은 CPU 사용량입니까?
wjandrea

1
훌륭한 답변 (+1)-psutil은 보석입니다. 그것은 HDD 온도를 커버하지 않는
재앙이다

2

computertemp computertemp 설치 는 현재 CPU 온도를 보여주는 간단한 애플릿이며 알람과 같은 추가 기능이 있습니다. 불행히도 배경색을 바꿀 수는 없지만 (또는 적어도 방법을 모르겠습니다) 표준 우분투 테마로는 그리 좋지 않습니다.

evgeny 's answer에 설명 된 센서 애플릿과 동일한 방식으로 설치할 수 있습니다 .


대체 텍스트

최신 우분투 리포지토리에서는 computertemp를 사용할 수 없습니다.


2
우분투 15.04 sudo apt-get install computertemp에서 "패키지 컴퓨터 온도 를 찾을 수 없습니다"오류가 발생합니다 ...
Nicolas Ivanov

1
printf '%d°\n' $(sensors | grep 'id 0:' | awk '{ print $4 }') 2>/dev/null
55°

printf '% d \ n'둥근 숫자로 필요할 경우 값을 정수로 변환합니다


1
echo $(printf ..)뿐 아니라 printf '%d°\n' $(sensors | grep 'id 0:' | awk '{ print $4 }') 2>/dev/null? ... 또는 심지어sensors 2>/dev/null | awk '/id 0:/{printf "%d°\n", $4}'
muru

예, 많은 가능성이 있습니다. 방금 내가 사용했던 것을 게시했습니다
intika

1

MATE 데스크탑 환경과 함께 Ubuntu를 사용하는 경우 MATE Sensors 애플릿을 사용할 수 있습니다.

  1. 패키지를 설치하십시오 :

    sudo apt-get install mate-sensors-applet
    

    Nvidia 그래픽 카드가 있으면 mate-sensors-applet-nvidia패키지 를 설치할 수도 있습니다 .

  2. MATE 패널을 마우스 오른쪽 버튼으로 클릭 하고 패널에 추가를 클릭 한 다음 하드웨어 센서 모니터 를 선택 하십시오.

    하드웨어 센서 모니터

  3. 추가 후 센서를 마우스 오른쪽 버튼으로 클릭하고 환경 설정을 선택하여 설정할 수 있습니다

    기본 설정 하드웨어 센서 모니터

    여기에서 CPU, 마더 보드 및 GPU 온도, 주 전압 (Vcore, 3.3V, 5V, 12V 등) 및 팬 속도와 같은 센서 목록을 사용자 정의 할 수 있습니다. 전체 목록은 하드웨어에 따라 다릅니다 (위 이미지는 Nvidia 그래픽 카드가있는 데스크탑 용입니다).

  4. 결과는 다음과 같습니다

    센서

물론이 애플릿을 최상의 위치로 옮길 수 있습니다.


0

온도가 밀리 도로 표시된 곳은 여러 곳이 있습니다. 나는 마침내 내 것을 발견했다.

/sys/devices/platform/coretemp.0/temp*_input

사용자가 자신의 온도를 발견했다고보고 한 다른 장소는 다음과 같습니다.

/proc/acpi/thermal_zone/THRM/temperature
/sys/class/thermal/thermal_zone*/temp
/sys/class/thermal/cooling_device*/temp
/sys/devices/platform/f71882fg.1152/temp*_input
/sys/devices/platform/coretemp.0/hwmon/hwmon*/temp*_input

이들 중 일부는 다른 것들과의 상징적 인 링크 일뿐입니다. 당신은 그것을 찾아 신중하게 봐야 할 수도 있습니다


0

내용은 인텔 CPU를 당신 만이 사용할 수 있습니다 i7z.

i7z-Linux를위한 더 나은 i7 (현재 i3, i5)보고 도구입니다.

그것을 설치하십시오 :

sudo apt install i7z 

그런 다음 실행하십시오 (로 실행해야 함 sudo).

sudo i7z

출력 예 ( Temp열 참조 -오른쪽으로 스크롤 ...) :

Real Current Frequency 4883.47 MHz [99.98 x 48.85] (Max of below)
    Core [core-id]  :Actual Freq (Mult.)      C0%   Halt(C1)%  C3 %   C6 %  Temp      VCore
    Core 1 [0]:       4883.47 (48.85x)      10.4    73.7    1.45    12.8    47      1.3547
    Core 2 [1]:       4871.56 (48.73x)      8.65    76.8     1.5    11.7    45      1.3547
    Core 3 [2]:       4877.61 (48.79x)      12.2    75.1       1    9.72    52      1.3547
    Core 4 [3]:       4880.70 (48.82x)      7.57    79.7       1    10.5    47      1.3547
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.