프로세스의 핸들 수가 많이 증가 되었거나 시스템에 커널 메모리 사용량이 많이 올라가면 어떤 핸들이 많이 사용되었는지 확인해야 합니다.

일반적으로 우리가 핸들 수를 확인하는 방식은 아래와 같습니다.


1. 작업 관리자를 열어서 세부정보나 프로세스 탭에서 "열 선택"을 한 후 핸들을 선택해서 각 프로세스의 핸들 수를 확인

2. Process Explorer를 실행해서 해당 프로세스를 선택한 후 View - Lower Pane View - Handles 를 선택해서 어떤 핸들이 있는지 확인.


그런데 이 방법을 사용하면 해당 프로세스에 핸들이 많다는 것은 확인할 수 있는데 어떤 종류의 핸들이 많이 있는지는 확인하기 힘듭니다.

이 경우에 사용할 수 있는 것이 명령 줄에서 사용할 수 있는 handle.exe 입니다.

Handle v4.11

https://docs.microsoft.com/ko-kr/sysinternals/downloads/handle


사용 방법은 아래와 같습니다.

1. 시스템 전체의 핸들 수를 종류별로 알고 싶을 때

C:\Users\clust>handle -s

Nthandle v4.11 - Handle viewer
Copyright (C) 1997-2017 Mark Russinovich
Sysinternals - www.sysinternals.com

Handle type summary:
  <Unknown type>  : 272
  <Unknown type>  : 3
  <Unknown type>  : 2
  <Unknown type>  : 686
  <Unknown type>  : 24
  <Unknown type>  : 8
  <Unknown type>  : 11
  <Unknown type>  : 23
  <Unknown type>  : 17
  <Unknown type>  : 2
  <Unknown type>  : 7
  <Unknown type>  : 21730
  <Unknown type>  : 12
  <Unknown type>  : 1
  <Unknown type>  : 60
  <Unknown type>  : 8
  <Unknown type>  : 7
  ALPC Port       : 4317
  Desktop         : 209
  Directory       : 593
  DxgkSharedResource: 80
  DxgkSharedSyncObject: 3
  Event           : 24745
  File            : 6150
  IoCompletion    : 2893
  IoCompletionReserve: 206
  IRTimer         : 1452
  Job             : 264
  Key             : 8033
  Mutant          : 2661
  Process         : 2565
  Section         : 4447
  Semaphore       : 5817
  Thread          : 4827
  Timer           : 816
  Token           : 1423
  TpWorkerFactory : 715
  UserApcReserve  : 12
  WaitCompletionPacket: 6216
  WindowStation   : 386
  WmiGuid         : 44
Total handles: 101747


2. Process 의 핸들 수를 종류 별로 알고 싶을 때

C:\Users\clust>handle -s -p notepad

Nthandle v4.11 - Handle viewer
Copyright (C) 1997-2017 Mark Russinovich
Sysinternals - www.sysinternals.com

Handle type summary:
  <Unknown type>  : 110
  ALPC Port       : 10
  Desktop         : 1
  Directory       : 2
  Event           : 32
  File            : 10
  IoCompletion    : 3
  IoCompletionReserve: 1
  IRTimer         : 4
  Key             : 22
  Mutant          : 4
  Section         : 8
  Semaphore       : 18
  Thread          : 6
  Timer           : 2
  TpWorkerFactory : 2
  WaitCompletionPacket: 12
  WindowStation   : 2
Total handles: 249


3. 프로세스 별로 핸들의 자세한 정보를 알고자 할때

C:\Users\clust>handle -u

Nthandle v4.11 - Handle viewer
Copyright (C) 1997-2017 Mark Russinovich
Sysinternals - www.sysinternals.com

------------------------------------------------------------------------------
System pid: 4 \<unable to open process>
------------------------------------------------------------------------------
smss.exe pid: 536 \<unable to open process>
------------------------------------------------------------------------------
csrss.exe pid: 796 \<unable to open process>
------------------------------------------------------------------------------

...

...

------------------------------------------------------------------------------
sihost.exe pid: 1092 CLUSTALEEY700\clust
   40: File          C:\Windows\System32
  16C: File          C:\Windows\Registration\R00000000000d.clb
------------------------------------------------------------------------------
svchost.exe pid: 13964 CLUSTALEEY700\clust
   44: File          C:\Windows\System32
  280: File          C:\Windows\Registration\R00000000000d.clb
  4E8: File          C:\Windows\System32\ko-KR\winnlsres.dll.mui
  634: File          C:\Users\clust\AppData\Local\ConnectedDevicesPlatform\908b443ce4ed0b0c\ActivitiesCache.db
  638: File          C:\Users\clust\AppData\Local\ConnectedDevicesPlatform\908b443ce4ed0b0c\ActivitiesCache.db-wal
  63C: File          C:\Users\clust\AppData\Local\ConnectedDevicesPlatform\908b443ce4ed0b0c\ActivitiesCache.db-shm





아래와 같은 질문을 받았습니다.

Windows Server 2012 R2 에 만들어져 있는 계정의 암호가 만료되는 경우 RDP로 접속이 안 되는 현상이 있습니다. 콘솔로는 접속이 안 되는 상태에서 어떻게 조치해야 할까요?

Windows Server 2008 R2에서 Windows Server 2012로 RDP 접속을 할 때는 패스워드 변경 창이 나타나서 정상적으로 변경을 진행한 후 접속을 하였으나 Windows Server 2012에서 Windows Server 2012로 접속을 하려고 할때는 오류가 발생하였습니다.


답변은 아래와 같습니다.

Windows Server 2012 에서 암호가 만료된 상태에서 RDP 연결을 하는 경우 암호 변경창이 뜨니 않은 것이 디자인 입니다.

Network Level Authentication 이 기본적으로 Enable 되어 있기 때문에 발생하는 것으로 Domain 환경이 아니고 콘솔에 접속할 수 없는 환경이라면 NLA를 Disable 하여 이 문제를 피할 수 있습니다.

우선 로그온을 할 수 있도록 하는 것은 클라이언트에서 mstsc를 실행한 후 연결 정보를 입력한 후 옵션 표시를 한 후 연결 설정을 저장하여 Server.rdp 파일을 만들고 가장 아래쪽에 enablecredsspsupport:i:0 을 설정하여 명시적으로 Disable 하는 것입니다.


감사합니다.



+ Recent posts