설명
좋은 메모리 덩어리를 사용하는 모델을 실행하면 이 procTreeMemMonitor=1을 사용하면 메모리 사용량이 올바르게 보고됩니다. 기고자: Steve, 2020년 6월
소형 모델 유형 :슬롯 머신
카테고리 : 슬롯 머신 테스트 라이브러리
메인 파일 : memmon1.gms
$title 'procTreeMemMonitor=1 동작 테스트' (MEMMON1,SEQ=823)
$onText
상당한 양의 메모리를 사용하는 모델을 실행하면 다음과 같이 테스트됩니다.
procTreeMemMonitor=1을 사용하면 메모리 사용량이 올바르게 보고됩니다.
기고자: Steve, 2020년 6월
$offText
$log --- Python 라이브러리 %sysEnv.GMSPYTHONLIB% 사용
$onEcho > muchmem.gms
세트
나는 / i1 * i4 /
j / j1 * j1000 /
k / k1 * k1100 /
;
매개변수 a(i,j,k), b(i,j,k), c(i,j,k);
스칼라 t;
a(i,j,k) = 77 + ord(i);
b(i,j,k) = (ord(j) + 3 * sin(a(i,j,k)))*pi + log(ord(k));
c(i,j,k) = a(i,j,k) + b(i,j,k+1) * 10;
t = 합(i,j,k), b(i,j,k) + c(i,j,k);
t = t + 수면(2.5);
디스플레이 t;
$offEcho
$call.checkErrorLevel 슬롯 머신 muchmem.gms lo=2 procTreeMemMonitor=1 procTreeMemTicks=100
$onEmbeddedCode 파이썬:
target = 400000000 # 더 커지므로 실패합니다.
open('muchmem.log')을 fp로 사용:
fp의 l에 대해:
r = l.분할()
len(r)>0이고 r[0]=='highwater'이고 ['VSS:','RSS:'] 및 int(r[2])<=target에서 r[1]인 경우:
raise NameError(f'\n***\n*** r[1][:-1] 너무 작음: 원하는 (r[1][:-1]=r[2]) > (target=target)')
$offEmbeddedCode
$if not errorfree $abort 테스트 실패
$log 테스트 통과