Hold off on that... I made a mess of the patch and my repo.
I'll post back when I got it sorted.
Sorry,
Yonah

On Friday, July 4, 2014 12:10:25 PM UTC+3, Yonah Russ wrote:
>
> Hi,
>
> I've found the source of the problem. Sigar isn't zone aware so all the 
> memory calculations are way off.
> I confirmed it by patching sigar and recompiling.
>
> My patch wouldn't have worked on vanilla Solaris so I did some more 
> digging and found that Brendan Gregg actually tried to get this fixed in 
> upstream sigar in 2012.
> His patch handles vanilla Solaris as well but I don't have a Solaris 
> machine to test on.
> His patch also fixes something in the disk stats. I'm not sure how it 
> might affect couchbase.
>
> In any case, I'm rebuilding couchbase with an adapted version of his patch.
> If all compiles well, I'll let you all know and make a pull request to 
> couchbase/sigar.
>
> Here is the patched version in case someone can test on Solaris: 
> https://github.com/yruss972/sigar
>
> Thanks,
> Yonah
>
> On Thursday, July 3, 2014 2:38:20 AM UTC+3, Aliaksey Kandratsenka wrote:
>>
>>
>>
>>
>> On Wed, Jul 2, 2014 at 4:02 PM, Yonah Russ <[email protected]> wrote:
>>
>>> Well I took a look at the scripting option and assuming you meant 
>>> escript, it doesn't look like something I'll be picking up from scratch in 
>>> an hour or so ;)
>>>
>>
>> No I referred to your favorite scripting language. Like perl, ruby, tcl 
>> or something else.
>>  
>>
>>>
>>> I hacked port_sigar as you suggested to print the reply values to stderr 
>>> and ran it using the example.escript which is in the source directory ( I 
>>> hope that was a reasonable thing to do).
>>>
>>> Here is the output from one of the couchbase servers:
>>>
>>> ./portsigar/example.escript
>>> cpu_total_ms: 67285756633
>>> cpu_idle_ms: 32306446002
>>> swap_total: 8589934592
>>> swap_used: 1717555200
>>> swap_page_in: 5915867
>>> swap_page_out: 87010188
>>> mem_total: 4294967296
>>> mem_used: 18446744073677623296
>>> mem_actual_used: 18446744017909834968
>>> mem_actual_free: 60094683944
>>> escript: exception error: no match of right hand side value
>>>                 
>>>  <<2,0,0,0,40,3,0,0,217,42,139,170,15,0,0,0,178,62,157,133,7,0,
>>>                   
>>>  0,0,0,0,0,0,2,0,0,0,0,208,95,102,0,0,0,0,219,68,90,0,0,0,0,
>>>                    0,140,...>>
>>>
>>> Obviously the mem_used and mem_actual_used numbers are way off.
>>> I dug into it deeper and it seems the calculations made by sigar are 
>>> wrong when running inside a zone.
>>> I'll keep looking for a long term solution to that but the thing is that 
>>> these calculations in sigar haven't changed in 3 years so what changed in 
>>> 2.5.1 that caused the numbers in the interface to come out screwy?
>>>
>>
>> You can find out by using git log on sigar and sigar_port. Both projects 
>> are low "traffic" so you should be able to spot something that looks 
>> solaris-specific. Most likely it's due to some change in sigar but I could 
>> be wrong. I.e. maybe it's due to sigar_port asking for more stats.
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"Couchbase" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to