
답변1
실행 중인 작업에 사용되는 RAM은 데이터를 저장하는 용도로만 사용됩니다. 이것은 Python 코드 내부의 변수 및 이와 유사한 것입니다. CPU 사용량은 실행 중인 프로그램의 "생각"과 관련이 있습니다.
따라서 이 경우 프로그램은 많은 생각을 하지만 저장은 많이 하지 않습니다.
답변2
귀하의 Python 프로그램에는 메모리 병목 현상이 아닌 CPU 병목 현상이 발생했습니다.
이렇게 생각해보세요. 종이에 펜으로 책을 쓰고 있다고 가정해 보세요. 당신은 가능한 한 빨리 글을 쓰고 있습니다. 에만 쓸 수 있습니다한 번에 종이 한 장씩. 종이 10장을 앞에 펼쳐놓는다고 해서 글을 쓰는 속도가 10배 빨라지는 것은 아닙니다.
이것이 바로 당신이 보고 있는 것입니다. CPU는 가능한 한 빨리 "쓰기"를 수행하고 있습니다. 따라서 100% 활용률을 보이고 있습니다. 기억은 그것이 작동하는 매체인 종이 한 장이다.
프로그램을 더 빠르게 실행하려면더 많은 손이 필요하거나 더 빨리 쓸 수 있습니다! 손이 두 개라면 한 손으로 첫 번째 장을 쓰고 다른 손으로 다음 장을 쓰게 할 수 있습니다. 손이 3개? 세 번째 장을 쓸 수 있습니다. 모두 동시에.
프로그램이 여러 작업으로 분할될 수 있다고 가정하면(아직 그렇지 않은 경우) 다중 스레드 Python 애플리케이션을 작성하여 이를 수행할 수 있습니다. 그러나 이를 수행하는 방법은 Superuser.com의 범위를 벗어납니다.
CPU가 100%로 고정되어 있고 오늘날 멀티코어 CPU가 표준이므로 Python 프로그램이 이미 멀티스레드일 가능성이 높습니다. 이는 프로그램을 더 빠르게 실행하려면 더 많은 CPU 코어 및/또는 더 빠른 코어가 필요함을 의미할 가능성이 높습니다.