如何通过java清除linux中的交换使用区
我在java中尝试了swapoff和swapon,但我没有看到top有任何变化 这是我的密码:如何通过java清除linux中的交换使用区,java,swap,cache-control,Java,Swap,Cache Control,我在java中尝试了swapoff和swapon,但我没有看到top有任何变化 这是我的密码: String[] commands= {"/bin/sh","-c","/sbin/swapoff -a && /sbin/swapon -a"}; Process pr = Runtime.getRuntime().exec(commands); pr.waitFor(); 弦有问题吗? 在top中成功执行命令后,我不会看到更改吗 谢谢。您应该在swapoff之前删除缓存: /b
String[] commands= {"/bin/sh","-c","/sbin/swapoff -a && /sbin/swapon -a"};
Process pr = Runtime.getRuntime().exec(commands);
pr.waitFor();
弦有问题吗?
在top中成功执行命令后,我不会看到更改吗
谢谢。您应该在swapoff之前删除缓存:
/bin/echo 1 > /proc/sys/vm/drop_caches
/bin/echo 2 > /proc/sys/vm/drop_caches
/bin/echo 3 > /proc/sys/vm/drop_caches
OT,但您为什么要这样做呢?
swapoff-a和&swapon-a
在shell中运行时是否有效?出于自动化脚本的基准测试原因。我无法停止脚本以清除shell中的交换,然后继续…pr.waitFor()的结果是什么?另外,您是否确定运行此功能的用户具有足够的权限(/sbin
对于“普通”用户甚至不在路径中)?@Alex:您是否逐字检查过它(/bin/sh-c)/sbin/swapoff-a&/sbin/swapon-a“echo$?
)?