我有一个系统处理器2.8 ghz,20个物理内核,40个逻辑内核,128 gb ram和4tb硬盘。
情景:
我正在运行3个(独立的)python基本进程/脚本(独立运行),它们从文件中读取数据并将其写入数据库。他们花时间不使用CPU和内存100%甚至不到40%。
为什么会这样? (我认为这取决于操作系统)
如何配置它以更多地利用CPU和内存?
我使用的是Windows 8.1。
答案 0 :(得分:1)
看看processoraffinity和processpriority
https://msdn.microsoft.com/en-us/library/system.diagnostics.processthread.processoraffinity(v=vs.110).aspx https://msdn.microsoft.com/en-us/library/system.diagnostics.process.priorityclass(v=vs.110).aspx
答案 1 :(得分:0)
进程(包括python脚本)不会使用比运行线程更多的内核。因此,如果您的python脚本是单线程的,那么它只会使用单个核心。
此外,磁盘和数据库操作将阻止I / O和网络上的进程。 (有效CPU使用率== 0)。
换句话说,如果你的程序执行了很多I / O,那么你的程序可能不是“cpu bound”。
我不确定你的程序是做什么的,但是如果手头的问题可以并行化(分成多个独立的任务),那么它可能会让自己有更多的线程或进程来利用额外的硬件你有。但要实现这一目标并获得性能提升是非常棘手且非常难以。