Mac OSX에서 Terminal.app 또는 iTerm의 속도를 어떻게 높일 수 있습니까?


41

몇 시간 동안 사용하지 않고 iTerm 또는 Terminal을 시작할 때마다 프롬프트를 표시하는 데 10-20 초가 걸립니다. 화면이 비어 있으며 입력 할 수는 있지만 실제로 명령을 실행할 수는 없습니다.

두 응용 프로그램 중 하나를 종료하면 후속 실행 (이후 비교적 빨리 수행되는 경우)이 매우 빠릅니다. 앱이 몇 시간 동안 실행되지 않은 경우에만 속도가 느려집니다.

MacBookPro에서 OSX 10.5.7을 실행하고 있습니다. 다른 컴퓨터에서도 동일한 설정을 가지고 있으며 속도가 느려지지 않습니다.

다시 아이디어를 얻는 방법에 대한 아이디어가 있습니까?


난 임의의 숫자를 가진 익명의 두 명의 사용자가이 질문을하고 답하는 방법을 좋아합니다. 나는이 패턴을 자주 보지 못한다! :)
cregox

답변:


39

다음에서 Apple 시스템 로그 파일을 삭제하십시오 /var/log/asl/.

sudo rm /var/log/asl/*.asl

이것은 나를 위해 속임수를했다.


3
(ASL = Apple 시스템 로그)
Arjan

+1. 다른 답변 중 하나가 제안한 것처럼 사소한 .bashrc가 있지만 매력처럼 작동했습니다.
alesplin

7
OsXDaily 에서 지적했듯이 sudo rm -rf /private/var/log/asl/*.asl대신 1) 로그 파일 만 삭제하고 2) 잘못된 디렉토리에 cd하고 모든 파일을 제거하지 않기 때문에 더 안전하기 때문에 대신 사용 하는 것이 좋습니다 .
Matthew Rankin

1
시스템 로그의 크기가 터미널이 얼마나 빨리 열리는 지에 대해 아는 사람이 있습니까?
James McMahon 4

3
@JamesMcMahon이 login프로세스는의 최상위 레벨에있는 모든 파일과 폴더를 읽는 것 같습니다 /var/log/asl. 실행 해보십시오 sudo opensnoop | grep /var/log/asl.
Lri

30

또 다른 팁이 도움이 될 수 있습니다.

변화는 기본에서 쉘 시작 /usr/bin/login에를 /bin/bash -l, 또는 /usr/bin/zsh당신이 zsh을 사용하는 경우.

그러면 터미널 / iTerm2가 광속으로 시작될 수 있습니다!

  • 터미널 : 기본 설정 → 시작 : "기본 로그인 쉘"에서 "명령 : /bin/bash -l"으로 변경

  • iTerm2의 경우 : 환경 설정 → 프로파일 → 일반 → 명령 : "로그인 쉘"에서 "명령 : /bin/bash -l"으로 변경하십시오.


2
이로 인해 새로운 탭 로딩이 상당히 빨라졌습니다.
Sindre Sorhus

1
이것이 얼마나 도움이되었는지 말할 수 없습니다. 1 초 안에 ~ 6 개월의 느린 터미널 성능을 해결했습니다.
Sam Stern

/ bin / bash -l은 저에게 효과적입니다!
Phill Pafford

MacPorts 배쉬를 선호하는 사람들을 위해 :/opt/local/bin/bash -l
Ioannis Filippidis

/bin/bash -l요세미티 (더 이상?)를 사용하는 것만으로는 충분하지 않습니다. 다른 불만 사항은 apple.stackexchange.com/questions/41743/…을
rogerdpack

9

게시물에 댓글을 달려면 특정 평판이 필요합니까? 어쨌든 시스템 로그를 지우면 나에게도 도움이되었습니다. 감사합니다. 에 코멘트에 제안, gist.github.com/123525 : 나는 여기 패치 패치 path_helper에 노력했다 http://mjtsai.com/blog/2009/04/01/slow-opening-terminal-windows/ ( 이 스레드에서 이전에 참조되었지만 아무 소용이 없습니다. 암호 오류가 발생합니다. 그러나이 패치는 terminal.app 실행 속도를 높여줍니다.

추가 : 언급했듯이 로그를 지우는 것이 속임수이지만 로그를 제거한 후에 로그가 계속 커짐에 따라 문제가 계속 발생합니다. "tweaking"/etc/asl.conf가보다 영구적 인 솔루션을 제공한다는 것을 알았습니다. 수정은 "알림"범주를 기록하는 것과는 달리 그보다 더 중요한 "메시지"범주로 분류 된 메시지 만 기록하는 것입니다. 또한 ftp, mail, local0, local1의 메시지는 무시합니다. 내 /etc/asl.conf의 붙여 넣기는 다음과 같습니다.

 ##
 # configuration file for syslogd and aslmanager
 ##

# redirect com.apple.message.domain to /var/log/DiagnosticMessages
? [T com.apple.message.domain] store_dir /var/log/DiagnosticMessages exclude_asldb

# authpriv messages are root/admin readable
? [= Facility authpriv] access 0 80

# remoteauth critical, alert, and emergency messages are root/admin readable
? [= Facility remoteauth] [<= Level critical] access 0 80

# broadcast emergency messages
? [= Level emergency] broadcast

# save kernel [PID 0] and launchd [PID 1] messages
? [<= PID 1] store

# save everything from emergency to notice
#? [<= Level notice] store
? [<= Level critical] store

# save lpr info level and above
#? [<= Level info] [= Facility lpr] store

# save all mail, ftp, local0, and local1 messages
#? [= Facility mail] store
#? [= Facility ftp] store
#? [= Facility local0] store
#? [= Facility local1] store

1
SU에 오신 것을 환영합니다. 예, 50 개의 평판이 필요하지만 더 많은 정보가 필요하므로 superuser.com/faq로 바로 가십시오! ;-)
Arjan

7

몇 주 전에 읽은 기사에서 : 천천히 여는 터미널 창

/usr/libexec/path_helper정말 로딩에 둔화되어 /etc/paths당신이 모든 항목을 제거하면 /etc/paths그 항목에서 사용할 수있는 것을 보장하는 것은 당신 .bash_profile이 문제가 해결됩니다. 어쨌든 그것은 나를 위해했다.


우연히 누군가 누군가 path_helper를 다시 작성했으며 다음에서 구할 수 있습니다. github.com/mgprot/path_helper
Chealion

여전히 그렇습니까? path_helper느린 것 같지 않습니다…
Franklin Yu

1

터미널 응용 프로그램이로드되었지만 아직 프롬프트가 표시되지 않으면 셸이 초기화하는 데 시간이 걸립니다.

이것은 아마도 .bashrc( 사용한다고 가정 할 때bash ) 너무 많거나 시간이 많이 걸린다는 것을 의미합니다 .


이것은 내가 겪고있는 문제 일 수 있습니다. bash를 사용하는 경우 .bashrc 파일에 액세스 할 수 있는지 확인하는 방법을 알고 있습니까?
alvincrespo

0

내 생각 엔 시간이 지남에 따라 무언가가 많은 메모리를 사용하고 있다는 것입니다. 한동안 사용하지 않고 터미널을 시작하면, 내용을 디스크로 교체하여 일부 메모리를 사용할 수 있어야합니다. 터미널 프로세스를 종료하고 비교적 빠르게 다시 시작하면 메모리를 계속 사용할 수 있으며 빠르게 시작됩니다. 이것은 다른 응용 프로그램에서도 발생합니다.

활동 모니터를 사용하여 메모리 사용량을 모니터하고 어디로 가고 있는지 알 수 있는지 확인해야합니다.


그는 터미널 창이 열려 프로세스가로드되었음을 의미한다고 말했다.
Mike McQuaid

1
@ 마이크, 터미널 창이 표시되면 모든 것이로드되었는지 확실하지 않습니다. 그래도 터미널에 위의 내용이 적용되면 모든 프로그램이 느리게 시작됩니다. 터미널에 많은 리소스 (Mac의 경우 6.5 / 31.7 실제 / 가상)가 필요하다고 생각하지 않으므로 @pmaiorana : Mac에서 터미널에 필요한 메모리 양은 무엇입니까?
Arjan


0

다음과 같이 /etc/profile행을 열고 추가하십시오 PATH="".

if [ -x /usr/libexec/path_helper ]; then
    PATH=""
    eval `/usr/libexec/path_helper -s`
fi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.