Linux Ask!

Linux Ask! is a Q & A web site specific for Linux related questions. Questions are collected, answered and audited by experienced Linux users.

Oct 142010
 

What are the differences between Mutex and Semaphore?

Answer:

A very good example was given in the Wikipedia

Mutex:

Is a key to a toilet. One person can have the key - occupy the toilet - at the time. When finished, 
the person gives (frees) the key to the next person in the queue.

Semaphore:

Is the number of free identical toilet keys. Example, say we have four toilets with identical locks
and keys. The semaphore count - the count of keys - is set to 4 at beginning (all four toilets are free),
then the count value is decremented as people are coming in. If all toilets are full, ie. there are no 
free keys left, the semaphore count is 0. Now, when eq. one person leaves the toilet, semaphore is 
increased to 1 (one free key), and given to the next person in the queue.

So, A mutex is really a semaphore with value 1

Oct 102010
 

How to clear cache from memory in Linux?

Answer:

From time to time, you might observed memory in Linux aren't free'ed after used, and they can be shown in the cached column of the free command.

# free -m
             total       used       free     shared    buffers     cached
Mem:          1033        468        564          0          0        343
-/+ buffers/cache:        124        908
Swap:          255          1        254

To manually free it, try

# sync; echo 3 > /proc/sys/vm/drop_caches

And try the free command again.

# free -m
             total       used       free     shared    buffers     cached
Mem:          1033        135        897          0          0         10
-/+ buffers/cache:        124        908
Swap:          255          1        254