Lau*_*ias 6 bash swap shell-script proc meminfo
所以,没有考虑太多,我运行了这个脚本:
#!/bin/bash
SWAP="${1:-512}"
NEW="$[SWAP*1024]"; TEMP="${NEW//?/ }"; OLD="${TEMP:1}0"
sed "/^Swap\(Total\|Free\):/s,$OLD,$NEW," /proc/meminfo > /etc/fake_meminfo
mount --bind /etc/fake_meminfo /proc/meminfo
Run Code Online (Sandbox Code Playgroud)
从这里:http : //linux-problem-solver.blogspot.com.ee/2013/08/create-fake-swap-in-openvz-vps-if-you-get-swapon-failed-operation-not-permitted -error.html
在我的交换空间上撒谎真的很管用,但现在我想要像这样的旧命令
free -m
Run Code Online (Sandbox Code Playgroud)
再次工作,但 /proc/meminfo 完全是空的,服务器似乎不再了解它的 RAM,即使有 atop 或类似的东西。
谢谢阅读。
只需卸载它: umount /proc/meminfo
所有这些程序(free
、top
、atop
等)都必须从某个地方获取它们的信息。那个地方是/proc/meminfo
。
如果您想为一个程序提供虚假信息,请在挂载命名空间中运行它:
$ unshare -m bash
$$ mount --bind … /proc/meminfo
$$ myprogram
Run Code Online (Sandbox Code Playgroud)
如果您只想在交换空间上撒谎,请通过 FUSE 文件系统将假meminfo
文件设为动态文件。(注意:命名管道也可以工作,但前提是它一次被一个程序访问。)
归档时间: |
|
查看次数: |
1393 次 |
最近记录: |