20Q20A
재미있는 질문과 답변으로 서로에 대해서 알아봅시다!
▶▶▶▶▶ 아래의 템플릿을 기재해 주시면 상세히 답변해 줄 수 있습니다.
| 1. 사용언어 (c# , vb.net) |
C# |
| 2. 사용툴 (VS2005, VS2008) |
VS2005 |
| 3. 운영체제 (WIN 2003, XP) |
XP |
| 4. 별도사항 |
CPU: intel E8500 |
▶▶▶▶▶ 질문내용
총 반복 횟수가 22! 정도 되는 시뮬레이션을
C#으로 개발하여 돌리고 있습니다.
지금 3일 째 돌리고 있는데
CPU 100% 사용하면 작업시간이 좀 줄어 들 것 같은데요.
(옵션값이 바뀌면 다시 돌려다 될 수도 있어서... ㅠㅠ )
계속 50%만 점유하고 그 이상은 올라가지 않네요.
50%만 점유하고 있기 때문에 다른 작업이 가능해서 좋기는 하지만,
때론 80%~90% 까지 올려서 최소한의 정지 작업만 가능한 CPU Idle 만 빼고
나머지는 full 로 사용하고 싶은데...
어떻게 해야 될지 모르겠네요.
혹시 강제적으로 CPU 사용을 끌어 올릴 수 있는 방법 없을까요?
답변 부탁드립니다.
첫댓글 싱글코어이신가요 아님 멀티코어이신가요? 질문에 보면 50%라고 되어 있어서 듀얼코어로 예상됩니만 어떤건지 몰라서 두개로 나누어 답을 해보면 싱글이라면 우선순위를 높여주세요 작업관리자에서 해당 프로세스 팝업메뉴로 우선순위를 줄수 있습니다. 멀티 코어일경우엔 해당 프로그램을 멀티코어를 위한 구조로 변경하셔야 합니다.
답변 고맙습니다., multi thread의 경우에 C# ProcessorAffinity의 속성을 이용해서 multi core 상에서 구현하는 군요. 전 단일 쓰레드 형태로 구현하면 multi core에서 OS 가 알아서 해주는 그런 걸 원했는데. 너무 공짜를 바란 듯 하네요.