我必须在Python中找到列表的平均值.到目前为止这是我的代码
l = [15, 18, 2, 36, 12, 78, 5, 6, 9]
print reduce(lambda x, y: x + y, l)
Run Code Online (Sandbox Code Playgroud)
我已经得到它所以它将列表中的值加在一起,但我不知道如何将它分成它们?
在Python中获取当前系统状态(当前CPU,RAM,可用磁盘空间等)的首选方法是什么?*nix和Windows平台的奖励积分.
似乎有一些可能的方法从我的搜索中提取:
使用像PSI这样的库(目前似乎没有积极开发并且在多个平台上不受支持)或像pystatgrab这样的东西(自2007年以来再没有活动似乎也不支持Windows).
使用特定于平台的代码,例如os.popen("ps")在*nix系统中使用或类似代码,以及MEMORYSTATUS在Windows平台上使用ctypes.windll.kernel32(参见ActiveState上的此配方).可以将Python类与所有这些代码片段放在一起.
并不是说这些方法很糟糕,但是已经有一个支持良好的多平台方式来做同样的事情了吗?
我正在使用Python -c来执行单行循环,即:
$ python -c "for r in range(10): print 'rob'"
Run Code Online (Sandbox Code Playgroud)
这很好用.但是,如果我在for循环之前导入模块,则会出现语法错误:
$ python -c "import sys; for r in range(10): print 'rob'"
File "<string>", line 1
import sys; for r in range(10): print 'rob'
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
知道如何解决这个问题吗?
将此作为单行程序对我来说很重要,这样我就可以将它包含在Makefile中.
我有一个函数采用浮点数参数(通常是带有一个有效数字的整数或小数),我需要输出一个带有两个小数位(5 - > 5.00,5.5 - > 5.50等)的字符串中的值.我怎么能用Python做到这一点?
我试图以%为单位获得总CPU使用率.首先我应该首先说"顶部"根本不会这样做,因为cpu转储之间存在延迟,它需要2个转储和几秒钟,这会挂起我的程序(我不想给它自己的线程)
接下来的事情我尝试的是"ps"这是即时的,但总是给出非常高的数字(20+),当我实际上得到我的cpu做一些事情,它停留在大约20 ...
有没有其他方法可以获得总CPU使用率?如果它超过一秒或更长的时间段并不重要......但更长的时期会更有用.
在bash脚本中,我需要等到CPU使用率低于阈值.
换句话说,我需要一个wait_until_cpu_low我会像这样使用的命令:
# Trigger some background CPU-heavy command
wait_until_cpu_low 40
# Some other commands executed when CPU usage is below 40%
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做?
编辑:
我在实例组中的某些实例上运行了一些稍微不可靠的软件.该软件由启动脚本安装和运行,并且大部分时间都可以正常运行,但是由于软件中存在某种类型的内存泄漏,大约约10%的新实例会因内存耗尽而崩溃.我不能自己解决这个漏洞,所以在此期间,我每隔几个小时就检查一次实例并查看显示空闲CPU的任何内容(该软件正常消耗所有可用的CPU电源).
但是,我正在使用可抢占的实例,它们可以随时被杀死并重新启动,只要我没有主动监视它们就会运行死实例.经过一天无人看管后,我通常会在仪表板中看到约80-85%的CPU使用率,其余部分则被浪费掉了.
有没有任何自动化方法可以杀死这些死亡的实例?重新启动它们已由实例组处理.
我正在运行这个命令
grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage "%"}'
Run Code Online (Sandbox Code Playgroud)
然而它只输出0.99xxxx%
如果我进行apt-get升级或任何过程,我认为它会超过1%.即使运行压力-c 1也不会改变它.
有没有办法准确记录CPU使用情况?服务器有1个vCPU.
需要每5秒钟记录一次这个日志.
while sleep 5; do "code" >> logfile; done
Run Code Online (Sandbox Code Playgroud) 我想以百分比的形式找出总体CPU使用率和RAM使用率,但我得到了成功
$ command for cpu usage
4.85%
$ command for memory usage
15.15%
Run Code Online (Sandbox Code Playgroud)
要么
$ command for cpu and mamory usage
cpu: 4.85%
mem: 15.15%
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?