소켓 성능 테스트를 하는데,
글쓴이: sauron / 작성시간: 수, 2009/10/07 - 10:22오후
epoll 로 소켓 성능테스트를 하고 있읍니다. 그런데 첨부파일에 보면 좀 이상한 부분이 있읍니다.
http://kldp.org/files/image002.jpg
Epoll 프로세스 CIOCPEPoll_test.exe 가 5 개나 떠 있읍니다.
분명 하나를 실행시켰고 ps 명령으로 보면 분명히 하나입니다. cpu 는 4 코아입니다.
CIOCPEPoll_test.exe 이 하는 일은 클라이언트가 1만개에 대하여 계속 echo 를 해주고 있는
간단한 epoll 서버입니다. 작업쓰레드가 Window 의 IOCP 처럼 고정적으로 6 개가 동작하고 있읍니다.
그런데 왜 여러개의 프로세스가 떠 있는 것 처럼 보일까요. 게다가 이 갯수가 어떤 때는 5 개가 되고
또 어떤 때는 7 개가 되기도 합니다. top 이 쓰레드별로 cpu 상태를 보여준다고 생각하고 싶어도
갯수가 변하니까 이것도 아닌것 같고..., 서로 다른 PID 를 보여준다는 것도 이상하고...
호스팅을 몇달 전에 옮기고 나서부터 이런 일이 있었는데, 그 이전 다른 호스팅서버에는
top 이 CIOCPEPoll_test.exe 프로세스 하나를 보여주었었읍니다.
top 이 업그레이드 된 것 같기도 한데, 왜 이렇게 보이는지 궁급합니다.
File attachments:
첨부 | 파일 크기 |
---|---|
![]() | 148.21 KB |
Forums:
음..
linux thread 는 LWP 형태라서, thread 가 6개라면 main 포함해서 7개가 보일겁니다.
ps 명령으로도 -L 옵션을 주면 thread 정보를 보실 수 있습니다.
top 명령이 모든 process 상태를 listing 하는 건 아니라서..
일부가 표시되지 않을 수도 있습니다.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
-- linux thread 는 LWP
-- linux thread 는 LWP 형태라서, thread 가 6개라면 main 포함해서 7개가 보일겁니다.
-- ps 명령으로도 -L 옵션을 주면 thread 정보를 보실 수 있습니다.
-- top 명령이 모든 process 상태를 listing 하는 건 아니라서..
-- 일부가 표시되지 않을 수도 있습니다.
아하, 그런 뜻이 있었네요, 낫놓고 기역자도 모른다더니 딱 저 같은 두고 하는 말인 것 같습니다.!!
해설에 깊이 감사드립니다.
PS) 이상했던게 왜 top 에서 PID 가 다르게 보이는가 했더니 결국 그것은 thread 아이디이었네요.
댓글 달기