이 문제에 대해 2 시간 동안 질문을했지만 여전히 오해가 있습니다.
나는이 과정을 가지고있다 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1452 0.4 1.8 1397012 19308 ? Sl 04:23 3:48 ./transaction_server
이것은 전체 시스템 메모리 19.3Mb
주위 1.8%
에서 시스템 상주 메모리 (스왑 파일이 없음)를 사용함 을 보여줍니다 1GB
. 가상 크기는 1.39GB
?!?입니다. ulimit -m
작동하지 않는 것을 읽었습니다 . ulimit -v
예를 들어 프로세스에 가상 메모리 설정과 같은 사람들이 사용 합니다. 이 가상 메모리는 다음과 같은 VSZ ps
입니까? 100MB
시스템 메모리를 최대한 사용하도록이 프로세스를 제한하려면 어떤 값을 설정해야합니까 ? 설명서를 읽었으며 setrlimit
합법적 인 것 같습니다.
RLIMIT_AS
This is the maximum size of a process' total available memory,
in bytes. If this limit is exceeded, the malloc() and mmap()
functions shall fail with errno set to [ENOMEM]. In addition,
the automatic stack growth fails with the effects outlined above.
그러나 다른 버전의 설명서에서는이 RLIMIT_AS
매개 변수가 가상 메모리 크기를 설정합니다. 진실은 무엇입니까?