가짜 /proc/meminfo에서 복구

가짜 /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

여기에서:http://linux-problem-solver.blogspot.com.ee/2013/08/create-fake-swap-in-openvz-vps-if-you-get-swapon-failed-eration-not-permissed-error. HTML

내 스왑 공간에 대해 거짓말을 하는 데는 효과적이었지만 이제는 이와 같은 좋은 오래된 명령을 원합니다.

free -m

다시 작동하지만 /proc/meminfo는 완전히 비어 있고 서버는 더 이상 RAM에 대해 아무것도 모르는 것 같습니다.

읽어 주셔서 감사합니다.

답변1

그냥 제거하세요:umount /proc/meminfo

이러한 모든 프로그램( free, topatop)은 어딘가에서 정보를 가져와야 합니다. 거기 어딘가에 있어요 /proc/meminfo.

프로그램에 허위 정보를 제공하려면 다음을 수행하십시오.마운트 네임스페이스:

$ unshare -m bash
$$ mount --bind … /proc/meminfo
$$ myprogram

스왑 공간에 대해 거짓말을 하고 싶다면 meminfo가짜 파일을 다음과 같이 설정하세요.FUSE 파일 시스템을 통한 동적 파일. (참고: 명명된 파이프도 작동하지만 한 번에 하나의 프로그램에서만 액세스할 수 있는 경우에만 작동합니다.)

관련 정보