MacBook Pro에서 어떤 비디오 카드가 활성화되어 있는지 확인하는 방법은 무엇입니까?


14

MacBook Pro의 두 비디오 카드간에 성능과 전력 소비에 큰 차이가 있습니다.

문제는 종종 내가 실행중인 것을 잊어 버리는 것입니다. 비행기 안에서는 배터리가 빨리 소모 될 수 있습니다. 내가 알 수있는 한, 에너지 절약 시스템 환경 설정을 열어 활성화 된 것을 확인해야합니다.

누구든지 현재 비디오 카드 상태 (메뉴 표시 줄, 바탕 화면 등)에 표시되는 도구를 알고 있습니까? 어떤 명령이 활성화되었는지보고하는 터미널 명령이 특히 좋습니다. 내 GeekTool 설정의 일부로 사용할 수 있습니다.

API 에서이 정보를 찾을 위치를 아는 사람이 있으면 자체 도구를 작성할 수도 있습니다.

누구든지 아이디어가 있습니까?

편집 : system_profiler에 관한 아래의 대답은 분명히 올바른 방향으로 한 단계입니다. MBP는 어느 비디오 카드가 활성화되어 있는지에 상관없이 두 비디오 카드에 대한 정보를 표시합니다. 그러나 비활성 카드에 연결된 디스플레이에 대해 "디스플레이가 연결되지 않았습니다"가 표시됩니다. 내가 해야 그 수치를 거기에서 스크립트 뭔가 할 수 있습니다.

EDIT2 : 키는 -xml 스위치를 사용하여 xml 형식의 system_profier에서 출력을 가져옵니다. 결과 plist를 구문 분석하고 결과를 표시하는 스크립트는 다음과 같습니다.

답변:


6

system_profiler가 GeekTool에 연결하는 방법에 대해 활성 디스플레이 (MBP 근처에 있지 않음) 만보 고한다고 가정합니다.

system_profiler | grep GeForce | sed -e 's/:/ /'

편집하다:

그것이 "연결되지 않은 디스플레이"와 같은 줄에 비 활동적인 것을 나열하면 어떨까요?

system_profiler | grep GeForce | grep - v "display not connected" | sed -e 's/:/ /'

그것이 활성화 된 것을 먼저 나열하면 어떨까요?

system_profiler | grep GeForce | head -n 1 | sed -e 's/:/ /'

활성 상태 인 경우 헤드를 테일로 교체하십시오.


왜 콜론을 공백으로 대체합니까?
Daniel은 Reinstate Monica가

4

http://codykrieger.com/gfxCardStatus

이 막대에있는 작은 응용 프로그램으로 사용중인 카드뿐만 아니라 카드를 전환하는 방법과시기를 제어 할 수 있습니다. 예를 들어 배터리 전원 등에서 통합 그래픽 카드 만 실행되도록 설정할 수 있습니다.


gfxCardStatus가 Mountain Lion 및 Retina MacBook Pro 용으로 업데이트되었습니다.
slothbear

3

다른 두 가지 답변에 제시된 기본 아이디어를 사용하여 "올바른"비디오 카드를 사용하는지 확인하기 위해 다음 스크립트를 작성했습니다 (올바른 = "배터리 및 9400"또는 "AC 어댑터 및 9600 사용")

이 스크립트가 얼마나 취약한 지 잘 모르겠습니다 .system_profile plist에서 특정 순서로 나타나는 특정 데이터에 의존하지만 ...이 순서는 내 컴퓨터에서 일관된 것처럼 보입니다. 구글을 통해 이것을 찾은 사람을 위해 여기에 배치하십시오.

루비 : ( "Plist"gem을 설치해야합니다)

# video_profiler.rb
require 'rubygems'
require 'plist'

# calculate video data
data = `system_profiler SPDisplaysDataType -xml`
structured_video_data = Plist.parse_xml(data)
display_status = structured_video_data[0]["_items"][0]["spdisplays_ndrvs"][0]["spdisplays_status"]

if (display_status.eql?('spdisplays_not_connected')) then 
    card = '9400'
else
    card = '9600'
end

# calculate power source data
data = `system_profiler SPPowerDataType -xml`
structured_power_data = Plist.parse_xml(data)
on_ac_power = (structured_power_data[0]["_items"][3]["sppower_battery_charger_connected"] == 'TRUE')

# output results
if (on_ac_power and card.eql?'9400') or (not on_ac_power and card.eql?'9600'):
    result = 'You\'re on the wrong video card.'
else
    result = "You\'re on the correct video card."
end

puts(result)

파이썬 :

# video_profiler.py
from subprocess import Popen, PIPE
from plistlib import readPlistFromString
from pprint import pprint
sp = Popen(["system_profiler", "SPDisplaysDataType", "-xml"], stdout=PIPE).communicate()[0]
pl = readPlistFromString(sp)
display_status = pl[0]["_items"][0]["spdisplays_ndrvs"][0]["spdisplays_status"]
if (display_status == 'spdisplays_not_connected'): 
    card = '9400'
else:
    card = '9600'

# figure out battery status
sp = Popen(["system_profiler", "SPPowerDataType", "-xml"], stdout=PIPE).communicate()[0]
pl = readPlistFromString(sp)
on_ac_power = (pl[0]["_items"][3]["sppower_battery_charger_connected"] == 'TRUE')


if (on_ac_power and card == '9400') or (not on_ac_power and card == '9600'):
    result = 'You\'re on the wrong video card.'
else:
    result = "You\'re on the correct video card."

pprint(result)

2

나는이 질문이 다소 오래되었다는 것을 알고 있습니다. 그러나 여전히 그 문제를 극복하는 사람들에게는 다른 선택이 있다는 것을 아는 것이 좋습니다. 가장 간단한 솔루션을 위해 GFXCheck를 확인할 수 있습니다. GFXCheck 는 활성 그래픽 카드를


2
또는 gfxcardStatus를 사용하면 전원 프로필에 따라 수동 또는 자동으로 사용할 것을 선택할 수 있습니다.
Robert S Ciaccio

2
실제로이 게시물을 작성한 직후 gfxCardStatus를 발견하고 대신 더 나은 방식으로 설치했습니다. 자동 전환 및 성가신 인터페이스가 있습니다.
micdah

문장을 끝내는 방법을 알아 본 적이 있습니까?
fixer1234

1

여기에 새로운 MacBook Pro 중 하나가 없지만 시스템 정보보기를 통해 활성 카드를 볼 수 있습니다. 터미널 system_profiler에서 시스템 구성을 보려면 다음을 사용 하십시오.

터미널 스크린 샷


0

active_gfx내가 쓴 루비 보석을 사용할 수 있습니다 : https://github.com/ChaosCoder/active_gfx

active_gfx는 현재 macOS 시스템에서 사용중인 그래픽 카드를 보여줍니다.

이 도구는 활동 모니터에서 열린 프로세스 목록을 거치지 않고 현재 사용중인 그래픽 칩을 추출하여 system_profiler .

active_gfx루비 보석이를 통해 설치 gem install active_gfx.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.