Hi Indika, Currently 'Cassandra in Windows' is not production recommended. Discussed in here [1] too. So I don't think you need to worry about memory allocations for windows for now.
[1] "Can API Manager and BAM run on Windows server" Thanks, Bhathiya On Wed, Apr 9, 2014 at 4:29 AM, Indika Sampath <indi...@wso2.com> wrote: > Hi All, > > The following changes I did in the MB product and achieve the $subject. > > Copy the cassandra-env.sh with the changes I made to compatible with > org.wso2.carbon.core.bootup.validator.JVMValidator to the {MB_HOME}/bin > folder when pack is build > Load the cassandra-env.sh when MB start with cassandra profile > Set the -Xms -Xmx -XX:MaxPermSize parameters dynamically as calculated in > the cassandra-env.sh > > This is working in the Linux. Now I have a problem with how to make this > changes which is compatible to the Windows environment. I have already make > the .bat file to start with the cassandra profile before. But now the > problem is I couldn't load the cassandra-env.sh in Windows. Is there > something which is relevant to cassandra-env.sh in Windows environment ? > > Cheers! > > > On Wed, Apr 9, 2014 at 11:46 AM, Prabath Abeysekera <praba...@wso2.com>wrote: > >> >> On Wed, Apr 9, 2014 at 11:16 AM, Dhanuka Ranasinghe <dhan...@wso2.com>wrote: >> >>> Hi, >>> >>> What about other important JVM tuning parameters (GC threads and >>> strategy), Are you guys consider those as well? >>> >> >> If we are to make the Cassandra profile, fully Cassandra-like, yeah, it's >> a must we include all the required/recommended JVM parameters (including >> what's used for fine tuning the functionalities) in the start-up script as >> well. >> >> Cheers, >> Prabath >> >> >>> >>> Cheers, >>> Dhanuka >>> >>> *Dhanuka Ranasinghe* >>> >>> Senior Software Engineer >>> WSO2 Inc. ; http://wso2.com >>> lean . enterprise . middleware >>> >>> phone : +94 715381915 >>> >>> >>> On Wed, Apr 9, 2014 at 11:08 AM, Shammi Jayasinghe <sha...@wso2.com>wrote: >>> >>>> Hi Deep, >>>> >>>> +1, that is what i wanted. It would be great if you can add this to the >>>> startup script of Cassandra profile. >>>> >>>> Hi Indika, >>>> >>>> Could you please talk to deep on this. >>>> >>>> thanks >>>> Shammi >>>> >>>> >>>> On Wed, Apr 9, 2014 at 10:51 AM, Deependra Ariyadewa <d...@wso2.com>wrote: >>>> >>>>> >>>>> >>>>> >>>>> On Wed, Apr 9, 2014 at 8:51 AM, Shammi Jayasinghe <sha...@wso2.com>wrote: >>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Tue, Apr 8, 2014 at 7:29 PM, Kishanthan Thangarajah < >>>>>> kishant...@wso2.com> wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Tue, Apr 8, 2014 at 12:14 PM, Shammi Jayasinghe >>>>>>> <sha...@wso2.com>wrote: >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Tue, Apr 8, 2014 at 11:55 AM, Deependra Ariyadewa <d...@wso2.com >>>>>>>> > wrote: >>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Tue, Apr 8, 2014 at 11:32 AM, Shammi Jayasinghe < >>>>>>>>> sha...@wso2.com> wrote: >>>>>>>>> >>>>>>>>>> Hi , >>>>>>>>>> >>>>>>>>>> I think we should not ask the user to change the .sh file or .bat >>>>>>>>>> file when starting with the cassandra profile. What we can do is, as >>>>>>>>>> default cassandra server does, we need to fix MB in a way that , >>>>>>>>>> when we >>>>>>>>>> start the MB with Cassandra profile, it automatically allocates 1/3 >>>>>>>>>> of the >>>>>>>>>> total memory for MB. WDYT ? >>>>>>>>>> >>>>>>>>> >>>>>>>>> We should be able to calculate required memory in the >>>>>>>>> wso2server.sh. >>>>>>>>> >>>>>>>> >>>>>>>> Hi Sameera / Kishanthan, >>>>>>>> >>>>>>>> We have a requirement that the memory allocated when MB server >>>>>>>> starts with Cassandra profile should be a portion of the complete >>>>>>>> memory of >>>>>>>> the server. Is it possible to do it and if it is possible, how we >>>>>>>> should >>>>>>>> proceed ? >>>>>>>> >>>>>>> >>>>>>> We currently don't use profile specific configurations (such as >>>>>>> specific start-up scripts, etc) when starting up profiles. We start >>>>>>> profiles after the java process is started and all profiles use the same >>>>>>> configurations. So this will not be possible using carbon server startup >>>>>>> scripts. >>>>>>> >>>>>>> But can't you use MB/Cassandra specific startup script for this? >>>>>>> This script should set the relevant JVM parameters and call server >>>>>>> start-up >>>>>>> with cassandra profile. >>>>>>> >>>>>> >>>>>> Hi Kishanthan, >>>>>> >>>>>> Yes, we may able to use that scripts to fulfil this requirement. >>>>>> Actually what i wanted to know is whether we have inbuilt support from >>>>>> carbon for this requirement and thank you for clarifying. >>>>>> >>>>>> Hi Prabath/Deep, >>>>>> >>>>>> Do you have any idea on how cassandra handle the dynamic memory >>>>>> allocation for the product. I think , it will be a pain if we ask the >>>>>> user >>>>>> to change wso2server.sh or wso2server.bat if they want to start MB or SS >>>>>> with cassandra profile since with default memory allocation will not be >>>>>> enough for cassandra. >>>>>> >>>>> >>>>> We can add following logic use in cassandra-env.sh to Cassandra >>>>> profile startup section to calculate the heap sized. >>>>> >>>>> calculate_heap_sizes() >>>>> { >>>>> case "`uname`" in >>>>> Linux) >>>>> system_memory_in_mb=`free -m | awk '/Mem:/ {print $2}'` >>>>> system_cpu_cores=`egrep -c 'processor([[:space:]]+):.*' >>>>> /proc/cpuinfo` >>>>> ;; >>>>> FreeBSD) >>>>> system_memory_in_bytes=`sysctl hw.physmem | awk '{print >>>>> $2}'` >>>>> system_memory_in_mb=`expr $system_memory_in_bytes / 1024 / >>>>> 1024` >>>>> system_cpu_cores=`sysctl hw.ncpu | awk '{print $2}'` >>>>> ;; >>>>> SunOS) >>>>> system_memory_in_mb=`prtconf | awk '/Memory size:/ {print >>>>> $3}'` >>>>> system_cpu_cores=`psrinfo | wc -l` >>>>> ;; >>>>> Darwin) >>>>> system_memory_in_bytes=`sysctl hw.memsize | awk '{print >>>>> $2}'` >>>>> system_memory_in_mb=`expr $system_memory_in_bytes / 1024 / >>>>> 1024` >>>>> system_cpu_cores=`sysctl hw.ncpu | awk '{print $2}'` >>>>> ;; >>>>> *) >>>>> # assume reasonable defaults for e.g. a modern desktop or >>>>> # cheap server >>>>> system_memory_in_mb="2048" >>>>> system_cpu_cores="2" >>>>> ;; >>>>> esac >>>>> >>>>> # some systems like the raspberry pi don't report cores, use at >>>>> least 1 >>>>> if [ "$system_cpu_cores" -lt "1" ] >>>>> then >>>>> system_cpu_cores="1" >>>>> fi >>>>> >>>>> # set max heap size based on the following >>>>> # max(min(1/2 ram, 1024MB), min(1/4 ram, 8GB)) >>>>> # calculate 1/2 ram and cap to 1024MB >>>>> # calculate 1/4 ram and cap to 8192MB >>>>> # pick the max >>>>> half_system_memory_in_mb=`expr $system_memory_in_mb / 2` >>>>> quarter_system_memory_in_mb=`expr $half_system_memory_in_mb / 2` >>>>> if [ "$half_system_memory_in_mb" -gt "1024" ] >>>>> then >>>>> half_system_memory_in_mb="1024" >>>>> fi >>>>> if [ "$quarter_system_memory_in_mb" -gt "8192" ] >>>>> then >>>>> quarter_system_memory_in_mb="8192" >>>>> fi >>>>> if [ "$half_system_memory_in_mb" -gt >>>>> "$quarter_system_memory_in_mb" ] >>>>> then >>>>> max_heap_size_in_mb="$half_system_memory_in_mb" >>>>> else >>>>> max_heap_size_in_mb="$quarter_system_memory_in_mb" >>>>> fi >>>>> MAX_HEAP_SIZE="${max_heap_size_in_mb}M" >>>>> >>>>> # Young gen: min(max_sensible_per_modern_cpu_core * num_cores, 1/4 >>>>> * heap size) >>>>> max_sensible_yg_per_core_in_mb="100" >>>>> max_sensible_yg_in_mb=`expr $max_sensible_yg_per_core_in_mb "*" >>>>> $system_cpu_cores` >>>>> >>>>> desired_yg_in_mb=`expr $max_heap_size_in_mb / 4` >>>>> >>>>> if [ "$desired_yg_in_mb" -gt "$max_sensible_yg_in_mb" ] >>>>> then >>>>> HEAP_NEWSIZE="${max_sensible_yg_in_mb}M" >>>>> else >>>>> HEAP_NEWSIZE="${desired_yg_in_mb}M" >>>>> fi >>>>> } >>>>> >>>>> >>>>> Thanks, >>>>> >>>>> Deependra. >>>>> >>>>> >>>>> >>>>> >>>>>> >>>>>> >>>>>> Thanks >>>>>> Shammi >>>>>> >>>>>> >>>>>> >>>>>>> >>>>>>> >>>>>>>> Thanks >>>>>>>> Shammi >>>>>>>> >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> >>>>>>>>> Deependra. >>>>>>>>> >>>>>>>>>> >>>>>>>>>> Thanks >>>>>>>>>> Shammi >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Tue, Apr 8, 2014 at 11:03 AM, Nuwan Silva <nuw...@wso2.com>wrote: >>>>>>>>>> >>>>>>>>>>> Hi All, >>>>>>>>>>> >>>>>>>>>>> With WSO2 MB 2.2.0 we have introduced profiles to start an >>>>>>>>>>> internal Apache Cassandra and Zookeeper. While starting with >>>>>>>>>>> Cassandra >>>>>>>>>>> profile this starts a carbon server with Cassandra. According to >>>>>>>>>>> the MB >>>>>>>>>>> Tuning guide [1] we can set the MAX_HEAP_SIZE for Apache >>>>>>>>>>> Cassandra in cassandra-env.sh. >>>>>>>>>>> >>>>>>>>>>> AFAIK we do not pack this configuration file with WSO2 MB 2.2.0. >>>>>>>>>>> Instead cant we set the required memory parameters inside >>>>>>>>>>> wso2server.sh it >>>>>>>>>>> self? any idea where we can set the required memory? >>>>>>>>>>> >>>>>>>>>>> WDYT? >>>>>>>>>>> >>>>>>>>>>> [1] >>>>>>>>>>> https://docs.google.com/a/wso2.com/document/d/11Vpu2CQUyE-ZcEH-Y7uFI-MN6a9Dsx5_8m7s4NK0LMA/edit# >>>>>>>>>>> -- >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> *Nuwan Silva* >>>>>>>>>>> *Senior Software Engineer - QA* >>>>>>>>>>> Mobile: +94779804543 >>>>>>>>>>> >>>>>>>>>>> WSO2 Inc. >>>>>>>>>>> lean . enterprise . middlewear. >>>>>>>>>>> http://www.wso2.com >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Best Regards, >>>>>>>>>> >>>>>>>>>> * Shammi Jayasinghe* >>>>>>>>>> Associate Tech Lead >>>>>>>>>> WSO2, Inc.; http://wso2.com, >>>>>>>>>> mobile: +94 71 4493085 >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Deependra Ariyadewa >>>>>>>>> WSO2, Inc. http://wso2.com/ http://wso2.org >>>>>>>>> >>>>>>>>> email d...@wso2.com; cell +94 71 403 5996 ; >>>>>>>>> Blog http://risenfall.wordpress.com/ >>>>>>>>> PGP info: KeyID: 'DC627E6F' >>>>>>>>> >>>>>>>>> *WSO2 - Lean . Enterprise . Middleware* >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Best Regards, >>>>>>>> >>>>>>>> * Shammi Jayasinghe* >>>>>>>> Associate Tech Lead >>>>>>>> WSO2, Inc.; http://wso2.com, >>>>>>>> mobile: +94 71 4493085 >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> *Kishanthan Thangarajah* >>>>>>> Senior Software Engineer, >>>>>>> Platform Technologies Team, >>>>>>> WSO2, Inc. >>>>>>> lean.enterprise.middleware >>>>>>> >>>>>>> Mobile - +94773426635 >>>>>>> Blog - *http://kishanthan.wordpress.com >>>>>>> <http://kishanthan.wordpress.com>* >>>>>>> Twitter - *http://twitter.com/kishanthan >>>>>>> <http://twitter.com/kishanthan>* >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Best Regards, >>>>>> >>>>>> * Shammi Jayasinghe* >>>>>> Associate Tech Lead >>>>>> WSO2, Inc.; http://wso2.com, >>>>>> mobile: +94 71 4493085 >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Deependra Ariyadewa >>>>> WSO2, Inc. http://wso2.com/ http://wso2.org >>>>> >>>>> email d...@wso2.com; cell +94 71 403 5996 ; >>>>> Blog http://risenfall.wordpress.com/ >>>>> PGP info: KeyID: 'DC627E6F' >>>>> >>>>> *WSO2 - Lean . Enterprise . Middleware* >>>>> >>>> >>>> >>>> >>>> -- >>>> Best Regards, >>>> >>>> * Shammi Jayasinghe* >>>> Associate Tech Lead >>>> WSO2, Inc.; http://wso2.com, >>>> mobile: +94 71 4493085 >>>> >>>> >>>> _______________________________________________ >>>> Dev mailing list >>>> Dev@wso2.org >>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>> >>>> >>> >> >> >> -- >> Prabath Abeysekara >> Associate Technical Lead, Data TG. >> WSO2 Inc. >> Email: praba...@wso2.com >> Mobile: +94774171471 >> >> _______________________________________________ >> Dev mailing list >> Dev@wso2.org >> http://wso2.org/cgi-bin/mailman/listinfo/dev >> >> > > > -- > Indika Sampath > Software Engineer > WSO2 Inc. > http://wso2.com > > Phone: +94 716 424 744 > Blog: http://indikasampath.blogspot.com/ > > > _______________________________________________ > Dev mailing list > Dev@wso2.org > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- *Bhathiya Jayasekara* *Software Engineer,* *WSO2 inc., http://wso2.com <http://wso2.com>* *Phone: +94715478185* *LinkedIn: http://www.linkedin.com/in/bhathiyaj <http://www.linkedin.com/in/bhathiyaj>* *Twitter: https://twitter.com/bhathiyax <https://twitter.com/bhathiyax>* *Blog: http://movingaheadblog.blogspot.com <http://movingaheadblog.blogspot.com/>*
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev