Posted on 2006-06-27
Last Modified: 2013-12-16
I have a server with 1G of physical RAM which shows the following procinfo:

[rob@seseiaa2 ~]$ cat /proc/meminfo                                            
MemTotal:      1025248 kB
MemFree:         84956 kB
Buffers:         88364 kB
Cached:         639300 kB
SwapCached:          0 kB
Active:         582188 kB
Inactive:       254848 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:      1025248 kB
LowFree:         84956 kB
SwapTotal:     4008120 kB
SwapFree:      4003872 kB
Dirty:             284 kB
Writeback:           0 kB
Mapped:         177004 kB
Slab:            77724 kB
CommitLimit:   4520744 kB
Committed_AS:   316980 kB
PageTables:       6420 kB
VmallocTotal: 34359738367 kB

i.e. VmallocTotal is currently 7FFFFFFFF kB. Should I be alarmed?
Question by:rstaveley
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 4
LVL 43

Expert Comment

ID: 16991356
Having 34TB vsize - it must ba a kernel bug...
Or many applications that uses only virtual memory(allocates, but never writes to it)
But in general it's acceptable to have vmalloctotal greater than physical RAM.
LVL 17

Author Comment

ID: 16991417
What applications would be likely to write to /proc/meminfo (assuming there's nothing malicious)?
LVL 43

Expert Comment

ID: 16991671
No, it's not writing to /proc/meminfo.
Assume application does nothing more than malloc(2G memory), then sleeps forever. For each such application vmallocsize has to be bumped by another 2G. Hence real memory is not allocated as long, as the application does not write to the allocated memory.
If there is many such applications (eg. somebody forked it many times before malloc()) - Your kernel vsize will grow to fantastic value.
What more - vsize never shrinks, so the process may be gone already!

Again, in my opinion: either a bug or someone did it for (malicious) purpose.
Simplifying Server Workload Migrations

This use case outlines the migration challenges that organizations face and how the Acronis AnyData Engine supports physical-to-physical (P2P), physical-to-virtual (P2V), virtual to physical (V2P), and cross-virtual (V2V) migration scenarios to address these challenges.

LVL 17

Author Comment

ID: 16991897
I missed VmallocChunk from the bottom of that file...

VmallocTotal: 34359738367 kB
VmallocUsed:    264532 kB
VmallocChunk: 34359473359 kB

It is a 64-bit server, which means that malloc(34359473359) could have compiled.

What shouls I do to rectify the file? Does it self-correct on a reboot?
LVL 43

Expert Comment

ID: 16992034
It will shrink on reboot - as I pointed above - vsize never shrinks.

> malloc(34359473359)
I would assume that this size is computed in runtime - and some overflow occured :(
LVL 17

Author Comment

ID: 16992101
Yuck, on reboot it is straight up there again.

VmallocTotal: 34359738367 kB
VmallocUsed:    264532 kB
VmallocChunk: 34359473359 kB

I guess I need to start removing services to find the offender.

What's the impact of having it as it is?
LVL 43

Accepted Solution

ravenpl earned 125 total points
ID: 16992543
I think no need for that, finally I read doc which says:
VmallocTotal: total size of vmalloc memory area
VmallocUsed: amount of vmalloc area which is used
VmallocChunk: largest contigious block of vmalloc area which is free

I understand now, that it's the space available for kernel to grow the virtual mem size (not used).
It looks like Your kernel has some overcommiting turned on.
To verify, just run the system with "init=/bin/bash" option passed to the kernel. Mount the /proc and check those values.

Unfortunatelly currenty have no system with 64bit accessible - maybe other experts?
LVL 17

Author Comment

ID: 16992993
> init=/bin/bash

Unfortunately I only have remote access to the box. I've just upgraded the kernel and vmalloc the same.

I'll ignore it :-)

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Little introduction about CP: CP is a command on linux that use to copy files and folder from one location to another location. Example usage of CP as follow: cp /myfoder /pathto/destination/folder/ cp abc.tar.gz /pathto/destination/folder/ab…
Setting up Secure Ubuntu server on VMware 1.      Insert the Ubuntu Server distribution CD or attach the ISO of the CD which is in the “Datastore”. Note that it is important to install the x64 edition on servers, not the X86 editions. 2.      Power on th…
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.
Suggested Courses

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question