Tag Info

Hot answers tagged

89

The first line means: total: Your total (physical) RAM (excluding a small bit that the kernel permanently reserves for itself at startup); that's why it shows ca. 11.7 GiB , and not 12 GiB, which you probably have. used: memory in use by the OS. free: memory not in use. total = used + free shared / buffers / cached: This shows memory usage for specific ...


47

You are experiencing the Linux Ate My Ram issue. Don't Panic. This is NOT a problem. Your system is Working As Designed. The problem is not your OS -- the problem is your understanding of what "free" memory is. Unix systems use memory for more than just running programs. Memory might be used for: Running programs (active/used) Buffering data in ...


18

This is the same "problem" as from Server refuses to use swap partition and a few other similar questions on this site. ( High Memory Usage on Linux Server, Memory Usage in LINUX, Web Server Running Low in Memory, etc.) Pay attention to the fact that the memory consumption is from cache. This means it's keeping a file in memory. Cached memory is "free" ...


13

Setting overcommit_ratio to 80 is wrong. I cannot stress this enough. Any value less than 100 is wrong and will always be wrong. The reason for this is that linux applications allocate more than they really need. Say they allocate 4kb to store a couple character string of text. Well thats several KB unused right there. Applications do this a lot, and this ...


12

I had the same experience in Nagios when I used the check_mem.pl plugin. When you define the tress hold for critical, you need to use a capital C instead of a normal c. Like this: command[check_mem]=/usr/lib/nagios/plugins/check_mem -w 10 -C 5 -f Then it takes the cached memory in account and it will not send warnings.


12

You've got a total of 156996 KB of memory used for programs, and a further 343684-156996=186688 KB used for buffers & cache. That means that about 22% of memory is used, not 60%. These buffers are used to store the contents of your disks, either before they're written to the disk, or after they've been read in case you want to read the data again. You ...


10

The SQL Server IS running - whether or not you have Management Studio have open. SQL Server will use as much memory as it needs and can get - by default - you can change that, if you want to limit SQL Server to a certain amount of RAM. But be aware: SQL Server needs a good chunk of RAM to work properly - if you restrict it too much, it'll slow down ...


9

Actually, you are misinterpreting the output of free. $ sudo free -m total used free shared buffers cached Mem: 3957 2746 1211 0 169 2320 -/+ buffers/cache: 256 3701 Swap: 6212 0 6212 This tells you you have 3957 megabytes of memory, of which ...


9

An easy way to see if you need more RAM is to chart the Page Life Expectancy perfmon counter. This counter tells you how long SQL Server thinks that data will be kept in the buffer pool before it needs to make room for other data. You want this number as high as possible. With 6 Gigs of RAM installed (you should have SQL set to max out at probably 4 gigs) ...


9

You can use the zpool status -D poolname command. The output would look similar to: root@san1:/volumes# zpool status -D vol1 pool: vol1 state: ONLINE scan: scrub repaired 0 in 4h38m with 0 errors on Sun Mar 24 13:16:12 2013 DDT entries 2459286, size 481 on disk, 392 in core bucket allocated referenced ...


8

However, when I run ps aux, the memory usage of all processes only comes out to 295.9MB, which is a far cry from the 1.7GB of memory that free reports as used. Why is there such a discrepancy? Because linux memory management is just plain wacky? Jokes aside, seriously - memory management in Linux is not a simple beast. There are different ways ...


8

Is this a 64bit server - do you have the lock pages in memory local policy enabled? SQL is likely consuming the rest of your memory If you look at the perfmon counters you will see the memory allocation Here is an article that explains it in depth You can also view the counters in SQL SELECT object_name ,Counter_name ,cntr_value ,ROUND(( ...


8

You can't limit the amount of memory the OS uses. Assuming you have a separate Application pool for each site, you should set limits for each one of those instead.


8

This is normal. SQL server will always use all available memory, and scale back when the system needs more resources. THIS article describes what is going on. When you start SQL Server, SQL Server memory usage may continue to steadily increase and not decrease, even when activity on the server is low. Additionally, the Task Manager and Performance ...


8

The main parameter for tweaking Apache's memory usage will be MaxClients. Too low a value and you will run out of available slots to serve client requests. Too many and you will use up all your RAM and begin to use swap space which will kill performance (it may appear to be a server crash). One way of tuning MaxClients is to observe the system's memory ...


8

You can use this command to see the top 10 applications regarding RAM usage: ps -A --sort -rss -o comm,pmem | head -n 11 Sometimes this command helps you if many sub processes have been generated: ps auxf This way you can see which processes belong together.


8

After re-reading your comments above and your original post - you ran ulimit -a as root - but you said that root is unaffected. Your issue here is ulimit, but at a user level. Log in as your dan user and run ulimit -a and you will probably find your memory is limited.


7

You really don't want to do this. The kernel will immediately relinquish cache pages to other applications if and when they call for it. It's a complete waste of money to not let the kernel use all your available RAM.


7

Running top in batch mode to report memory sizes periodically can be used to see who is using the memory when things go south. Runing sar in batch mode should give some good diagnostics on memory use, and related I/O. Running munin to monitor the system should give you a graph with good detail on what memory is being used for. This may help a lot. You ...


7

Well, there is an easy way to take a look at the kernel's page cache if you happen to have ftools - "fincore" gives you some summary information on what files' pages are the content of the cache.


7

You have earned Confused by Linux memory usage badge! Processes are not the only thing eating up memory in Linux. The frequently used files and directory entries are cached in RAM - that's because reading the files from RAM is lots faster than reading them from disk. I bet you didn't take buffers and cached columns into account while calculating the RAM ...


7

FreeBSD has a pretty decent userbase of very knowledgeable people. I wouldn't worry about that too much. Bigger issue would be your personal experience and knowledge on the matter. Ask yourself (and tell us): why is it so important to have a couple of megs of extra free RAM in your server? What does that gain you? And what does it cost you, both in terms of ...


6

Not really any way to easily tell because it is entirely dependent on your usage and the application. You're maxing out a database server...how big is the database? What are your transaction stats? The real-world limitations are obvious in your scenario. You're running for awhile on 6 gig without problem, then it's swapping and thrashing.Thus 6 gig isn't ...


6

SQL Server will use as much memory as it needs. You don't have to be running SSMS for it to use memory - you have things like the data cache which will cache data in memory when queried to make it faster to retrieve for subsequent calls. Any connections being made to the db server will use memory. It shouldn't be anything to worry about, if the OS needs more ...


6

It you want just the top offenders, consider running top with a relatively long interval (60 seconds plus) in batch mode. You may need more than one top running to capture the top offenders on multiple resources. I have configured systems to run top for a few cycles when a resource was being over used. Consider running sar in batch mode to capture ...


6

Dial down your Apache settings. With that level of memory something like: StartServers 2 MinSpareServers 1 MaxSpareServers 3 MaxClients 10 (Make sure to restart apache) Running a full LAMP stack on that much memory can be tough to eek by if you see even small amounts of requests.


6

The short answer is that the rest of your memory is used to cache your applications. The long answer can be found here.


6

The GUI-penalty for running servers is a lot less now than it was 10 years ago. So much so that I no longer reflexively turn it off when I'm setting up a new Linux server. If I am RAM constrained in a significant way (couldn't wrangle enough money out of higher management to do it right, or I'm in a RAM-constrained VM for some reason) then I'll disable the ...


6

Section 9.6 "Overcommit and OOM" in the doc that @dunxd mentions is particularly graphic on the dangers of allowing overcommit. However, the 80 looked interesting to me as well, so I conducted a few tests. What I found is that the overcommit_ratio affects the total RAM available to ALL processes. Root processes don't seem to be treated differently from ...


6

As HTTP500 said, you probably shouldn't worry about it unless the machine is actually choking. Take a look at Help! Linux Ate My RAM!. It's not quite an analogous situation, as you have processes rather than buffers using up the RAM, but it's not too far off: your machine's physical RAM is a resource to be used, either with kernel buffers or spare Apache ...



Only top voted, non community-wiki answers of a minimum length are eligible