Solved

VmallocTotal

Posted on 2006-06-27
8
2,627 Views
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?
0
Comment
Question by:rstaveley
  • 4
  • 4
8 Comments
 
LVL 43

Expert Comment

by:ravenpl
Comment Utility
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.
0
 
LVL 17

Author Comment

by:rstaveley
Comment Utility
What applications would be likely to write to /proc/meminfo (assuming there's nothing malicious)?
0
 
LVL 43

Expert Comment

by:ravenpl
Comment Utility
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.
0
 
LVL 17

Author Comment

by:rstaveley
Comment Utility
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?
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 43

Expert Comment

by:ravenpl
Comment Utility
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 :(
0
 
LVL 17

Author Comment

by:rstaveley
Comment Utility
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?
0
 
LVL 43

Accepted Solution

by:
ravenpl earned 125 total points
Comment Utility
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?
0
 
LVL 17

Author Comment

by:rstaveley
Comment Utility
> 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 :-)
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Currently, there is not an RPM package available under the RHEL/Fedora/CentOS distributions that gives you a quick and easy way to allow PHP to interface with Oracle. As a result, I have included a set of instructions on how to do this with minimal …
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…
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…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

763 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

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now