how to efficient use linux caches

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear all:
I have some questions about virtual memory (VM) subsystem of the Linux
kernel.
1. From linux doc, there is drop_caches in /proc/ which can let us to
free the cache that kernel used, such as dentries and inodes, etc.
I know i can echo 1, 2 or 3 to free different level of caches in the
linux kernel, but is there any more elegant or programming rule that I
can follow to let it used more efficiently?

2. what kind of system call will increase the size of cache?
 I write a test program as below but from top, the size of cache seems
no change

#include<stdio.h>
#include<stdlib.h>
int main(void)
{
        int index;
        char input;
        char * point[1024];

        for(index=0;index<1024;index++)
        {
        point[index]=malloc(1024*1024);
        printf("please input any charter for going down:\n");
        scanf("%c",&input);
        }

}

the memory usage of test.mips increased but the cached size is always
4916k as below:

Mem: 8352K used, 132800K free, 0K shrd, 60K buff, 4916K cached
Load average: 0.00 0.00 0.00
  PID USER     STATUS   VSZ  PPID %CPU %MEM COMMAND
  400 0        SW       668     1  0.3  0.4 busybox.telnetd
  498 0        RW       584   408  0.3  0.4 top
  500 0        SW     10156   317  0.0  7.1 test.mips
  317 0        SW       596     1  0.0  0.4 sh
  408 0        SW       592   400  0.0  0.4 sh
    1 0        SW       584     0  0.0  0.4 init
    5 0        SW<        0     2  0.0  0.0 khelper
   86 0        SW<        0     2  0.0  0.0 khubd
    3 0        SW<        0     2  0.0  0.0 ksoftirqd/0
   76 0        SW<        0     2  0.0  0.0 kblockd/0
    4 0        SW<        0     2  0.0  0.0 events/0
    2 0        SW<        0     0  0.0  0.0 kthreadd
  112 0        SW         0     2  0.0  0.0 pdflush
  113 0        SW<        0     2  0.0  0.0 kswapd0
    8 0        SW<        0     2  0.0  0.0 async/mgr
  116 0        SW<        0     2  0.0  0.0 crypto/0
  252 0        SW<        0     2  0.0  0.0 mtdblockd
  254 0        SW<        0     2  0.0  0.0 nftld
  255 0        SW<        0     2  0.0  0.0 inftld
  286 0        SW<        0     2  0.0  0.0 rpciod/0
  253 0        SW<        0     2  0.0  0.0 ftld
   89 0        SW<        0     2  0.0  0.0 kseriod
  111 0        SW         0     2  0.0  0.0 pdflush
  448 0        SW<        0     2  0.0  0.0 scsi_eh_1
  449 0        SW<        0     2  0.0  0.0 usb-storage
  114 0        SW<        0     2  0.0  0.0 nfsiod
  115 0        SW<        0     2  0.0  0.0 cifsoplockd

Mem: 8352K used, 132800K free, 0K shrd, 60K buff, 4916K cached
Load average: 0.04 0.01 0.00
  PID USER     STATUS   VSZ  PPID %CPU %MEM COMMAND
  501 0        RW       584   408  0.5  0.4 top
  400 0        SW       668     1  0.3  0.4 busybox.telnetd
  500 0        SW     37912   317  0.0 26.8 test.mips
  317 0        SW       596     1  0.0  0.4 sh
  408 0        SW       592   400  0.0  0.4 sh
    1 0        SW       584     0  0.0  0.4 init
    5 0        SW<        0     2  0.0  0.0 khelper
   86 0        SW<        0     2  0.0  0.0 khubd
    3 0        SW<        0     2  0.0  0.0 ksoftirqd/0
   76 0        SW<        0     2  0.0  0.0 kblockd/0
    4 0        SW<        0     2  0.0  0.0 events/0
    2 0        SW<        0     0  0.0  0.0 kthreadd
  112 0        SW         0     2  0.0  0.0 pdflush
  113 0        SW<        0     2  0.0  0.0 kswapd0
    8 0        SW<        0     2  0.0  0.0 async/mgr
  116 0        SW<        0     2  0.0  0.0 crypto/0
  252 0        SW<        0     2  0.0  0.0 mtdblockd
  254 0        SW<        0     2  0.0  0.0 nftld
  255 0        SW<        0     2  0.0  0.0 inftld
  286 0        SW<        0     2  0.0  0.0 rpciod/0
  253 0        SW<        0     2  0.0  0.0 ftld
   89 0        SW<        0     2  0.0  0.0 kseriod
  111 0        SW         0     2  0.0  0.0 pdflush
  448 0        SW<        0     2  0.0  0.0 scsi_eh_1
  449 0        SW<        0     2  0.0  0.0 usb-storage
  114 0        SW<        0     2  0.0  0.0 nfsiod
  115 0        SW<        0     2  0.0  0.0 cifsoplockd

appreciate your kind help,
miloody

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ




[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux