Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: linux os cache and ocfs

Re: linux os cache and ocfs

From: Mladen Gogala <gogala_at_sbcglobal.net>
Date: Thu, 29 Jul 2004 11:29:28 -0400
Message-ID: <pan.2004.07.29.15.29.27.147902@sbcglobal.net>


On Thu, 29 Jul 2004 04:35:13 -0700, utkanbir wrote:

> Hi Mladen ,
>
> Thanks for your answer. In fact your answer resulted another
> questions.
>

>> It uses direct I/O only if you activate it and only if it is 
>> supported in kernel. You can activate  direct I/O by setting the
>> parameter filesystemio_options appropriately.

>
> My setting for filesystemio_options is none .

This is why direct I/O is not being used.

> I was thinking to set it
> as async in order to enable aio till you had told me about the direct
> i/o. Whats the difference between direct i/o and async .

Asynchronous I/O takes place in the background and the issuing process doesn't wait for the I/O to complete, but is notified instead. Direct I/O transfers data directly from the disk into the user buffer, bypassing the buffer cache.

> Just ignoring
> this parameter , if i use ocfs , doesnt it open files by using
> o_direct?

No, it doesn't. By telling oracle to use direct I/O, you are adding O_DIRECT to the arguments of the "open" system call.

> And doesnt this mean that the io to the file does not use
> any os buffer?

No. It means that the data is transfered from the driver buffer (1MB in size) directly to the user buffer.

>
> In fact i mean paging not swapping. As far as i know , unix systems
> does not use swapping but only paging . I really want to ask the
> reason of swap disk space usage. Consider a new process , when it
> first starts running , only the working set of this process must be in
> physical memory ( so thats why its called working set ) .When pages
> which are not in memory are needed , page fault occurs and data must
> be transferred from the disk. When this occurs , does the swap usage
> value in top display increase? Isnt it used in order to satisfy
> virtual memory paging ? Isnt it pagefile?(or vmstat si so values).
> In my case isnt my paging value high?

Paging and swapping are two completely different phenomenons. Paging deals with pages, swapping deals with processes. Page stealing will steal inactive pages, which are pages which haven't been accessed for a pre-defined and tunable interval. Swapping is a desperation measure which will throw out the whole inactive process when the memory is at scarce.

>
> When the servers restarts , for a certain times , the swap usage is 0.
> But i have the processes running for instance oracle , does this mean
> that all the process executable is in memory?

No. Page stealing (actually, it's called page replacement) will throw out inactive pages which were active only during the initialization phase

>
> Mladen , as you see i am little bit confused. Starting from the high
> level aio question , i at last have the low level virtual memory
> question.

It's quite an extensive topic and there are several good Unix internals books on the market which will explain in detail how things work.

-- 
A city is a large community where people are lonesome together.
Received on Thu Jul 29 2004 - 10:29:28 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US