问题标签 [psutil]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - python子进程性能分析
我想获取子进程的 CPU 和内存使用情况以进行性能分析。我写了这段代码,但我不知道我输出中的信息是否必要和充分......
谢谢你的帮助。
python - 没有 C 扩展的 psutil
我正在考虑使用psutil进行 CPU 和卷监控。但是,对于我的项目,如果我能以某种方式摆脱psutil使用的 C 扩展,那将是理想的:
- 我希望我的项目尽可能独立,无需在客户端进行编译。
这可能吗?或者我可以使用psutil的更早的纯python版本吗?
python - 读取主机进程包大小
我想知道主机中每个进程发送的每个数据包的数据包数量和数据包大小。我尝试使用 psutil 库:
但它显示了地址和端口,但没有关于数据包的信息。
这显示了主机发送和接收的字节数。
如何使用 Python 2.7 和 Windows 7 获取此信息?
python - 如何在 Python 中分析某个函数
我编写了一个基于命令行的应用程序,并希望在每个模块运行时对其进行分析。它是一个单线程应用程序,模块是执行某些操作的函数调用。我需要测量函数花费的时间、函数的平均 cpu 使用量、函数的平均内存使用量。我可以通过测量系统时间以及调用前后的时间来测量所花费的时间。(或使用cprofile)但我无法弄清楚任何可以正确地给我其他数据的东西。我已经阅读了 python 中内置的资源模块,但我希望应用程序是跨平台的(windows 和 linux),并且资源模块在 linux 中不存在。我在考虑使用psutil,但阅读文档,我不认为它提供了我想要的。就像我在函数调用之前和之后调用 process.cpu_percent() 一样,它会给出函数的 cpu 使用率(两个 cpu 百分比调用之间的 cpu 使用率差异)还是那个时间点的 cpu 使用率。内存百分比似乎有点模棱两可。
如何使用 psutil 测量我想要的内容?或者我可以使用 psutil 吗?还是有更好的模块适合我想要的?
python-3.x - psutil vs dd:监控磁盘 I/O
我正在写 yat (yet-another-tool :)) 来监控 Linux 上的磁盘使用情况。我正在使用python 3.3.2和psutil 3.3.0。
我正在监控的进程做了一些非常基本的事情:我使用dd工具并改变块大小(128、512、1024、4096)
大文件.txt:
监视器的片段如下:
在每次运行时,我都会清除缓存(正如 stackoverflow 上多次建议的那样):
我的问题是:为什么数字不匹配?
bs=128:
dd:
监视器.py:
bs=4096
dd:
监视器.py:
bs的所有值仍然存在差异。
是否确定读/写不被计算在内?psutil 是否执行一些额外的工作?例如,使用bs=4096,为什么在 psutil 400993 中报告了更多字节(用于读取)和 3681(用于写入)?
我错过了什么大事吗?
非常感谢。
编辑:作为更新,测量中的时间粒度无关紧要,即 time.sleep(interval) 调用。我尝试了不同的值,并总结了 psutil 报告的读写总数。差异仍然存在。
EDIT2:代码段中的错字
python - Apache Spark 中的 psutil
我正在使用 PySpark 1.5.2。我UserWarning Please install psutil to have better support with spilling
发出命令后得到.collect()
为什么会显示此警告?
我该如何安装psutil
?
python - Python - 解压名称元组列表
我正在使用 psutil.users() 来获取引用系统上每个用户的命名元组列表。我正在尝试制作一个仅包含名称和终端类型的字典,而我正在丢弃其余的。当我这样做时:
我只得到一个用户,而不是两个。我知道那里有两个,因为我可以打印 psutil.users() 并查看它们。我看不出我做错了什么,所以我做了:
它按预期工作。但我的听写理解版本没有。我看不到我做错了什么。
python - 如何使用python从进程中获取原始命令行?
我希望获得进程的原始命令行foo -p "Hello World"
,我尝试使用cmdline()
,但它提供了标记化的参数,我对此不感兴趣,并且加入它们不会一直产生预期的结果,因为可以从结果的第二次打印中可以看出。
有没有办法最好以可移植的方式实现这一点(可能使用其他库或以不同的方式进行)?
编辑
这是为了与已经存储的命令进行比较。我的问题的另一个解决方案可能是,' '.join
如果我可以获得静态命令字符串 ( foo -p "Hello World"
) 而没有 args 周围的引号来进行比较,那就没问题了。这意味着,如果有一个函数可以执行 psutil 正在执行的 shell 参数标记化,它将解决我的命令比较问题。
python - PSUtil 和 Wine:试图获取进程结束的时间,但 Wine 进程永远不会终止(只是进入睡眠状态)?
我正在使用 Python 的 PSUtil 库来检测给定进程完成的确切时间。目前,我通过查找进程何时终止来做到这一点,以下测试套件在Windows和常规 Linux程序上都运行良好:
但是,当我尝试在Wine下运行的程序上使用它时,这些测试都不会触发。这是因为Wine 进程似乎从未真正终止,而是无限期地进入睡眠状态。这包括在 Wine 中运行的程序、在 Wine 中启动程序的脚本等。
这导致了无法检测程序何时真正结束以及进程在内存中建立起来直到我最终不得不手动终止它们的问题。
-=-=-=-=-
我在CentOS 6.0上运行。我的主要问题归结为:
- 是否可以为Wine设置某种配置以使其在完成时关闭进程?(我对 Wine 比较陌生,事实证明,寻找这个非常困难)
- 或者,是否可以将另一个PSUtil测试添加到我的 Python 脚本中以检测这些 Wine 进程何时完成(即使它们无限期地休眠)?
python - Python:在 Windows 中超时 psutil 进程被杀死(按照说明),但在 Linux 中没有
使用 Python 3.5.1,这可以在 Windows(64 位 Windows 7 Home Premium,SP1)上正常工作。但是,在 Linux(OpenSUSE 13.2、Harlequin、i586 和 KDE 4.14.9)上,使用 Python 3.4.1,任何超时进程都不会被杀死。
我的进程处理基本上是在 StackOverflow 上对Python 给出的答案:运行一个进程并在它在一小时内没有结束时终止它 (Giampaolo Rodolà,2012 年 5 月 10 日)
这是(简化的)我所做的:
FoxitReader 进程没有在 5 秒后被杀死,PDF 文件继续在 FoxitReader 中保持打开状态。
生成的 Python 解释器输出为:
有时,输出还包含更多内容,似乎来自 Qt(我认为 Linux 版本的 FoxitReader 是用它编写的)。我认为这无关紧要,但是(以防我错了)这是一个示例。
我试着做:
之前:
(因为看起来如何用 Python 杀死 Linux 进程可能会暗示,但这并没有什么区别。
[这是用于 PDF 阅读器的一些 Python3 '模糊测试'。我随机更改了有效 PDF 文件中的一些字节,然后测试是否有任何“模糊”文件使任何 PDF 阅读器崩溃。它偶尔会导致其中 1 个崩溃。]