我正试图在后台启动一个远程机器上的作业,并获得它的PID,这样我就可以在以后终止它。到目前为止,我想出了以下几点:
#!/bin/bash
IP=xxx.xxx.xxx.xx
REMOTE_EXEC="ssh $IP -l root"
# The following does NOT work, I am trying to get the PID of the remote job
PID=`$REMOTE_EXEC 'vmstat 1 1000 > vmstat.log & ; echo $!'`
# Launch apache benc
运行vmstat将为您提供自上次重新启动以来的平均虚拟内存使用量。si和so值给出了平均虚拟内存I/O,例如:
root@mymachine# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 304 300236 244940 967828 0 0 0 1
vmstat命令有以下输出,我正在尝试删除cpu部分并在python中打印
vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 30468 23468 36496 837876 0 0 143 179 57 105 2 1 97 1
使用下面的python代码,我失去了空格,
如果运行vmstat -s,它将显示有关系统的统计信息。我想知道它如何计算used memory统计数据(下面突出显示)。这不是我在/proc/meminfo中可以找到的统计数据。
user@machine:# vmstat -s
7483816 K total memory
**4740624 K used memory**
3619096 K active memory
800388 K inactive memory
2743192 K free memory
220624 K buffer memory
我已经嵌入了Linux开发板,运行了一些用户空间进程。当我运行"vmstat 1“时,我会看到以下内容
# vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 0 51028 0 2788 0 0 0 0 293 441 0 0 100
我希望检索处理器使用率百分比,但没有显示大量数字的其他命令。有一个使用'grep‘或'awk’之类的解决方案。
~$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 1447984 190232 146508 4983236 0 0 0 10 0 0 2
我正在尝试高效地解析vmstat输出,最好是在awk或sed中,它也应该可以在linux和hp-ux上工作。例如,我想从以下输出中减少cpu idle %(在本例中为“92”):
$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
11 0 385372 101696 61704 650716 0 1
我正在尝试获取SPARC远程服务器的当前(而不是平均)空闲内存大小,但我没有使用free -m命令或prtconf的权限。因此,我使用命令vmstat 2,结果是kthr内存页磁盘故障cpu。
r b w swap free re mf pi po fr de sr vc vc vc vc in sy cs us sy id
0 0 0 46981864 20824288 311 416 51 1 1 0 0 27 6 0 18 16070 33290 17580 12 2 87
0 0 0 45534984 9138264 127 405 0 0 0 0 0
我需要检索系统中存在的RAM总量和当前正在使用的RAM总量,以便计算百分比。这类似于:
然而,在这个问题中,最好的答案是如何通过读取以下内容来获取RAM:
/usr/bin/vm_stat
由于我的程序的性质,我发现我并不是无法读取该文件-我需要一种方法,它将提供我的RAM信息,而不是简单地打开一个文件并从它读取。我正在寻找一些与函数调用有关的东西。最好是这样:getTotalRam()和getRamInUse()。
我显然不希望它是那么简单,但我正在寻找一种解决方案,而不是从文件读取。
我正在运行Mac OS X Snow Leopard,但最好能得到一个可以在当前所有Mac OS X平台(
如何使用free或awk命令打印列sed?
根据vmstat版本列,free可能会从第5列更改为其他内容。
bash-3.00$ vmstat 1 1|tail -2
r b w swap free re mf pi po fr de sr s0 s1 s3 -- in sy cs us sy id
0 0 0 38018936 24998752 122 182 33 81 53 0 0 5 7 -0 0 4113 8416 4527 1 0 99
bash-3.00$ vmstat 1 1|tail -2|awk '{print $5}'
free
24998752
我在ubuntu上使用vmstat来获得cpu的使用率。我现在的cpu几乎100%都很忙。如果我像下面这样运行vmstat:
$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
8 1 0 6383924 1287224 18123836 0 0 2 53
#!/usr/bin/perl
use strict;
use warnings;
open(my $vmstat, "/usr/bin/vmstat 1 2>&1 |");
open(my $foo, ">", "foo.txt") or die "can't open it for write";
while(<$vmstat>) {
print "get ouput from vmstat and print it to foo.txt ...\n";