Bu konuyla ilgili soruları okumak için 2 saat harcadım ve hala bazı yanlış anlaşılmalar var.
Bu süreç var:
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
Bu tüm sistem belleği 19.3Mbetrafında 1.8%, sistem yerleşik bellek (takas dosyası yok) kullanır gösterir 1GB. Sanal boyut 1.39GB?!?. ulimit -mİşe yaramıyor okudum . İnsanlar ulimit -vörneğin işlem için sanal bellek ayarlamak gibi işlemler kullanırlar. Bu sanal bellek listelenen VSZ psmi? Bu işlemi 100MBen çok sistem belleğini kullanacak şekilde kısıtlamak istiyorsam hangi değeri ayarlamalıyım . Ben belgelerini okudum setrlimitve bu yasal görünüyor:
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.
Ancak belgelerin diğer sürümlerinde bu RLIMIT_ASparametre sanal bellek boyutunu ayarlar. Gerçek ne?