Uz.ytkownik dompie napisa?:
> I don't understand what the 'ubc_borrowpercent' kernel param is used
> Basically, to configure the UBC, you can set the min (usually 10%) and
> the max (usually 100%) physical memory usage.
> But what is the purpose of the 'ubc_borrowpercent' param? The manual
> states that this param indicates the memory 'borrowed' from the VM.
> But I don't see the point of this param. Doesn't the VM take all the
> memory it needs (except the 10% for the ubc min) when it needs memory?
> When does the ubc borrow from the VM memory. Why? Is there any way you
> can see if the UBC has borrowed memory from the VM?
> Isn't this bad for the system? I mean, if the UBC needs to borrow
> memory from the VM, doesn't this happen when the system has no more
> physical memory left?
> I am confused, any help would be greatly appreciated.
According to the tuning course:
"The ubc_borrowpercent attribute determines the point beyond which the
UBC is considered to be borrowing pages from the VM side. When the free
list gets low, these loans are called back in to replenish the free page
list. (...) Once the UBC is brought down to ubc_borrowpercent, pages
are claimed from the UBC and from VM side in order to replenish the FPL".
In practice, if the UBC extends beyond ubc_borrowpercent, it will never
get shrinked below ubc_borrowpercent, even if it will be big demand of VM.
In one of my system we use such values:
the values are (in my opinion, confirmed by performance) the best. But!
We have the system with 16GB of RAM, where the application and users use
up to 9GB, the rest is the UBC. During the EOD, we use memory almost at
all for UBC purposes (60%). The greater values of borrowpercent and
maxpercent (with this value of physical memory) cause strong performance
?ukasz Tylutki, Gdynia, Poland.