![특정 웹 사이트를 방문했을 때 CPU 코어 전체가 소진되면 어떻게 해야 합니까?](https://rvso.com/image/1554888/%ED%8A%B9%EC%A0%95%20%EC%9B%B9%20%EC%82%AC%EC%9D%B4%ED%8A%B8%EB%A5%BC%20%EB%B0%A9%EB%AC%B8%ED%96%88%EC%9D%84%20%EB%95%8C%20CPU%20%EC%BD%94%EC%96%B4%20%EC%A0%84%EC%B2%B4%EA%B0%80%20%EC%86%8C%EC%A7%84%EB%90%98%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
저는 마크다운 팬입니다. 이름이 매우 유용한 도구가 있습니다.타이포라(무료이지만~ 아니다오픈 소스).
공식 홈페이지에 가서 다운로드 받아보니 애니메이션도 없고 복잡한 서비스도 없었습니다. 그러나 이 사이트를 방문했을 때 내 컴퓨터의 냉각 팬은 최고 속도로 작동했습니다. 그리고 작업 관리자를 열었을 때 코어 전체가 소모되는 것을 보았습니다. 이 웹사이트의 기능은 무엇인가요? 소스 코드에 JavaScript에 비트코인 채굴기가 포함되어 있나요?
게다가 Typora 자체에도 같은 문제가 있나요?
특정 웹사이트나 소프트웨어의 동작을 분석하는 데 유용한 도구가 있습니까?
답변1
내 VM에서 이 사이트에 액세스하려고 시도했지만 동일한 문제가 발견되었습니다. Typora 웹사이트는 아래 스크립트를 실행하고 있습니다.
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-54f423356e25706b" async="async"></script>
Typora는 또한 캐싱 없이 아래 스크립트를 사용하므로 최신 리소스를 이용할 수 있습니다.
https://m.addthisedge.com/live/boost/ra-54f423356e25706b/_ate.track.config_resp
https://s7.addthis.com/js/300/addthis_widget.js
에서 파일을 차단 addthis.com
하고 addthisedge.com
사용하고 있습니다 . 도메인 이름을 IP에 매핑하는 데 사용되는 파일입니다. 나는 이 도메인을 내 로컬 임의 IP로 지정했습니다. 그 이후에는 사이트에서 스크립트를 찾을 수 없으며 실행에 실패했습니다.hosts
C:\Windows\System32\drivers\etc
addthis.com이 무엇인가요? 에 따르면수호자그것은 소셜 공유 추적기입니다. 그 당시 내가 사용하고 있던 다른 사이트에서 데이터를 읽으려고 시도한 것을 발견했습니다.
이러한 사이트를 차단한 후에는 CPU 사용이 정상입니다.
답변2
대부분의 웹 브라우저에는 "프로파일러"라는 개발 도구가 내장되어 있습니다. 이 도구는 웹사이트의 어떤 자바스크립트 기능이 처리 시간을 얼마나 소비하는지 식별하는 데 사용할 수 있습니다. 개발 도구는 일반적으로 F12를 눌러 액세스합니다.
해당 웹사이트에서 이를 사용하면 답변이 확인됩니다.다시. 대부분의 처리 시간은 스크립트 https://s7.addthis.com/js/300/addthis_widget.js
(구체적으로는 함수 i._handleScroll
)에서 사용됩니다. 스크립트가 축소되었기 때문에 스크립트가 실제로 수행하는 작업에 대해 더 많은 조사를 하고 싶지 않습니다. 그 스크립트가 너무 끔찍하거나 웹사이트 개발자가 해당 스크립트를 웹사이트에 통합할 때 실수를 했을 수도 있습니다. 어쨌든 이것은 당신이 고칠 수 있는 일이 아닙니다. noscript를 사용하거나 호스트의 전체 도메인을 블랙리스트에 추가하여 해당 스크립트를 차단할 수 있지만 그렇게 하면 웹사이트가 더 이상 제대로 작동하지 않을 수 있습니다.
그건 그렇고: 비트코인이나 기타 암호화폐를 채굴하기 위해 방문자의 처리 능력을 사용하는 웹사이트는 실제로 중요합니다. 나도 그런 웹사이트를 본 적이 있다. 그러나 일반적으로 CPU를 사용하지 않습니다. 방문자는 다음을 통해 방문자의 GPU를 사용합니다.WebGL API. 즉, GPU 팬이 회전하기 시작하지만 작업 관리자의 CPU 사용량은 다소 적당하게 유지됩니다. 현재 GPU의 부하를 확인하려면 공급업체의 웹사이트를 확인하세요. 그들은 종종 그러한 정보를 보여주는 운전자를 위한 동반자 프로그램을 제공합니다.
답변3
브라우저에 따라 다릅니다. Firefox에서는 설치할 수 있습니다스크립트 없음해당 사이트에 대해 JS를 선택적으로 화이트리스트에 추가할 수 있습니다. 아마도 Typora 자체를 보는 데 꼭 필요한 것은 아닌 특정 JS 리소스일 수도 있습니다.
Ghostery는 Chrome에서도 이 작업을 수행할 수 있습니다. 비록 제가 수행하는 작업에 대한 경험은 훨씬 적지만 Noscript보다 훨씬 더 자동화되어 있습니다.
경고: 저는 NoScript를 좋아하지만 상황에 대해 약간의 편집증을 느낄 수 있으며 화이트리스트를 작성하려면 많은 노력이 필요합니다. 사용할 수 없는 다른 브라우저를 사용하는 것이 가장 좋습니다.
업데이트: 네, 정말 큰 돼지입니다. Firefox는 내 Mac 활동 모니터에서 FirefoxCPWebContent를 170%로 표시합니다. 그리고 그것은 모든 사이트의 JS가 비활성화된 상태입니다. 그들이 코드를 뭔가 맹렬하게 망친 것 같습니다. 해당 하위 프로세스에 대해 글꼴에 대한 열려 있는 핸들이 많이 있습니다.
결론: NoScript로도 이 문제를 해결할 수 없습니다.