On Mon, May 13, 2019 at 02:01:17PM +0200, Oleksandr Natalenko wrote:
> On Mon, May 13, 2019 at 02:48:29PM +0300, Timofey Titovets wrote:
> > > Also, just for the sake of another piece of stats here:
> > >
> > > $ echo "$(cat /sys/kernel/mm/ksm/pages_sharing) * 4 / 1024" | bc
> > > 526
> > 
> > IIRC, for calculate saving you must use (pages_shared - pages_sharing)
> 
> Based on Documentation/ABI/testing/sysfs-kernel-mm-ksm:
> 
>       pages_shared: how many shared pages are being used.
> 
>       pages_sharing: how many more sites are sharing them i.e. how
>       much saved.
> 
> and unless I'm missing something, this must be already accounted:
> 
> [~]$ echo "$(cat /sys/kernel/mm/ksm/pages_shared) * 4 / 1024" | bc
> 69
> 
> [~]$ echo "$(cat /sys/kernel/mm/ksm/pages_sharing) * 4 / 1024" | bc
> 563

Yup. To expand on this,

 246 /* The number of nodes in the stable tree */
 247 static unsigned long ksm_pages_shared;
 248 
 249 /* The number of page slots additionally sharing those nodes */
 250 static unsigned long ksm_pages_sharing;

2037     if (rmap_item->hlist.next)
2038         ksm_pages_sharing++;
2039     else
2040         ksm_pages_shared++;

IOW, first item is accounter in "shared", the rest will go to "sharing".

-- 
  Best regards,
    Oleksandr Natalenko (post-factum)
    Senior Software Maintenance Engineer

Reply via email to