본문 바로가기
카테고리 없음

작업 관리자엔 CPU 3%인데 온도는 10도 높았다: LG OnScreen Control이 코어 하나를 붙잡고 있던 문제

by 재미난IT 2026. 10. 7.

작업 관리자에는 CPU 3%로만 보이던 프로그램 하나를 끄자 CPU 온도가 약 10도 내려갔습니다. 범인은 LG 모니터용 프로그램 OnScreen Control에 딸린 OSCApplicationManager.exe였고, 부팅한 뒤 약 31시간 반 동안 CPU 코어 하나를 100%로 붙잡고 있었습니다. 바이러스는 아니었습니다. 정상 서명이 붙은 LG 정품 파일이 헛돌고 있었습니다.

아래 수치는 2026년 10월 7일 Windows 11 PC 한 대(AMD 라이젠 9 5950X, 16코어 32스레드)에서 OnScreen Control 9.43.0.0으로 직접 잰 값입니다. 온도 변화는 이 PC의 모니터링 프로그램 표시 기준이고, PC마다 숫자는 다릅니다. 점검 순서는 그대로 쓸 수 있습니다.

증상: 아무것도 안 하는데 CPU가 뜨겁다

  • PC가 느려서 프로세스를 훑어보다가 발견했습니다. 정작 느려진 원인은 따로 있었고(하드디스크 사용률 100%), 이 문제는 덤으로 나왔습니다.
  • 전체 CPU 사용률은 10~19%로 한가했습니다.
  • 작업 관리자에서 LG 관련 항목은 0~3%로만 보여서 눈에 띄지 않았습니다.

왜 작업 관리자는 3%라고 할까

작업 관리자의 CPU %는 논리 프로세서 전체를 100으로 놓고 계산합니다. 32스레드 CPU에서 프로그램 하나가 코어 하나를 꽉 채우면 100 ÷ 32 = 약 3.1%로 표시됩니다. 8스레드 CPU라면 같은 상황이 12.5%로 보입니다. 코어가 많을수록 "헛도는 프로그램 하나"가 숫자에 묻힙니다.

재는 기준 OSCApplicationManager
작업 관리자 표시(32스레드 전체 기준) 3.1~3.2%
코어 하나 기준 99~107%
부팅 후 약 31시간 반 동안 쓴 CPU 시간 116,309초(약 32시간)
읽기 호출 초당 약 140만 회, 읽은 양 0바이트

쓴 CPU 시간이 켜져 있던 시간보다 깁니다. 켜진 내내 코어 하나를 한 번도 놓지 않았다는 뜻입니다.

코어 하나를 꽉 채운 프로그램 찾기

작업 관리자의 % 대신 "5초 동안 CPU 시간을 얼마나 썼는지"를 직접 재면 바로 드러납니다. PowerShell에 붙여 넣으면 됩니다. 관리자 권한은 필요 없습니다.

$n = (Get-CimInstance Win32_ComputerSystem).NumberOfLogicalProcessors
$a = @{}; Get-Process | ForEach-Object { $a[$_.Id] = $_.CPU }
Start-Sleep 5
Get-Process | Where-Object { $a.ContainsKey($_.Id) -and $_.CPU } | ForEach-Object {
  [pscustomobject]@{
    Name       = $_.ProcessName
    Id         = $_.Id
    OneCorePct = [math]::Round(($_.CPU - $a[$_.Id]) / 5 * 100)
    TaskMgrPct = [math]::Round(($_.CPU - $a[$_.Id]) / 5 / $n * 100, 1)
  }
} | Sort-Object OneCorePct -Descending | Select-Object -First 5

OneCorePct가 100 근처에서 계속 머무는 프로세스가 있으면 그것이 코어 하나를 붙잡고 있는 것입니다. TaskMgrPct는 같은 값을 작업 관리자 방식으로 환산한 숫자입니다. 한 번만 재지 말고 두세 번 재서 계속 100 근처인지 확인합니다. 잠깐 일하는 프로그램과 헛도는 프로그램은 여기서 갈립니다.

작업 관리자에서는 어느 줄일까

OnScreen Control은 프로세스 세 개로 돌고, 작업 관리자에 보이는 이름이 파일 이름과 다릅니다. 저도 처음에 엉뚱한 줄을 보고 "0.1%인데?" 했습니다.

작업 관리자에 보이는 이름 실제 파일 이 PC에서 잰 CPU
OnScreen Control Control Service OnScreenControlControlService.exe 0%
OnScreenApplication(32비트) OnScreen Control.exe 0%
OSCApplicationManager(32비트) OSCApplicationManager.exe 3.1~3.2%(코어 하나 100%)

앞의 두 줄만 보면 멀쩡해 보입니다. OSC로 시작하는 줄을 찾아야 합니다.

3%인데 왜 10도나 차이 날까

  1. CPU 온도는 평균이 아닙니다. 모니터링 프로그램이 보여 주는 CPU 온도는 보통 가장 뜨거운 지점 기준입니다. 코어 31개가 쉬어도 한 개가 달궈지면 그 온도가 표시됩니다.
  2. 일이 한 코어에 몰리면 그 코어가 최고 속도로 올라갑니다. 라이젠 9 5950X는 최대 부스트 클럭이 4.9GHz입니다. 부하가 적은 코어 수에 몰릴수록 클럭과 전압을 높게 쓰고, 좁은 면적에 열이 집중됩니다.
  3. CPU가 쉬는 상태로 못 들어갑니다. 할 일이 없으면 코어는 전력을 낮추고 잠드는데, 한 코어가 쉬지 않고 돌면 그만큼 계속 열이 납니다.

그래서 "전체 사용률 3%"는 일의 양으로는 작아도, 열로는 "코어 하나를 하루 넘게 최고 속도로 돌린 것"이었습니다.

바이러스가 정상 프로그램인 척하는 건 아닐까

이름이 낯설고 CPU를 계속 쓰면 의심부터 듭니다. 세 가지를 확인했습니다.

Get-AuthenticodeSignature 'C:\Program Files (x86)\LG Electronics\OnScreen Control\bin\OSCApplicationManager.exe' |
  Format-List Status, SignerCertificate
  • 디지털 서명: Status가 Valid이고 서명자가 LG Electronics Inc., 발급자가 DigiCert였습니다. 같은 폴더의 실행 파일 13개가 모두 같은 서명이었습니다. 확인 명령은 Get-AuthenticodeSignature입니다.
  • 위치와 설치 기록: 정식 설치 폴더에 있었고, 프로그램 목록의 OnScreen Control 9.43.0.0 설치 날짜와 맞았습니다.
  • 네트워크: 이 프로세스가 연 TCP·UDP 연결이 하나도 없었습니다.

위장한 악성 파일이라면 서명이 없거나 서명자가 다르고, 대개 엉뚱한 폴더에 있습니다. 이 경우는 정품 프로그램의 오동작이었습니다.

왜 헛돌았을까(추정)

여기부터는 관측에 근거한 추정입니다. 이 프로세스는 초당 약 140만 번 읽기를 시도했는데 실제로 읽은 양은 0바이트였습니다. 올 데이터가 없는데 쉬지 않고 계속 물어보는 대기 루프입니다. 그리고 이 프로세스를 처음 띄운 부모 프로세스는 이미 종료돼 있었습니다. 부모와 주고받던 통로가 끊겼는데 그것을 알아채지 못하고 계속 읽으려 한 것으로 보입니다. 재부팅할 때마다 그러는지, 이번만 그랬는지는 확인하지 못했습니다.

해결

  1. 일단 종료: 작업 관리자에서 OSCApplicationManager를 선택해 작업 끝내기를 누르거나, PowerShell에서 Stop-Process -Name OSCApplicationManager를 실행합니다. 모니터 화면은 그대로 나옵니다. 화면 분할, 앱별 화면 설정 같은 OnScreen Control 기능만 멈춥니다.
  2. 다시 뜨는 것 막기: 재부팅하면 다시 실행됩니다. 이 PC에서는 시작 프로그램에 OnScreenStartUpApp.exe가, 서비스에 OnScreen Control Control Service(자동)가 등록돼 있었습니다. 기능을 안 쓴다면 작업 관리자의 시작 앱 탭에서 OnScreen Control 항목을 사용 안 함으로 바꾸거나 프로그램을 제거합니다.
  3. 기능을 계속 쓴다면: 재부팅한 뒤 위 스크립트로 다시 재 봅니다. 또 100%에 붙어 있으면 최신 버전으로 다시 설치해 보고, 그래도 같으면 필요할 때만 켜는 편이 낫습니다.

확인: 끄고 나서

  • LG 관련 프로세스가 모두 사라졌고 전체 CPU 사용률은 10%였습니다.
  • CPU 온도가 약 10도 내려갔습니다. 항상 켜져 있으니 식을 틈이 없어 열이 나고 온도가 높아 팬도 계속 돌고
  • 모니터 표시에는 변화가 없었습니다.

정리

  • 코어가 많은 CPU에서는 헛도는 프로그램 하나가 작업 관리자에 3% 안팎으로만 보입니다.
  • 아무것도 안 하는데 CPU가 뜨거우면 전체 %가 아니라 "코어 하나를 꽉 채운 프로세스"를 찾습니다.
  • 낯선 프로세스는 서명, 위치, 네트워크 연결을 확인하면 정품의 오동작인지 위장 파일인지 가를 수 있습니다.
  • LG 모니터를 쓰고 OnScreen Control이 깔려 있다면 OSCApplicationManager를 한 번 재 볼 만합니다.