What OS version?

Carl.


On 09/08/2011 11:53 AM, Jeff Armstrong wrote:
> Does anyone have thoughts on this? Should this be submitted in the issue 
> tracker?
> ________________________________________
> From: Jeff Armstrong [[email protected]]
> Sent: Friday, August 26, 2011 3:08 PM
> To: [email protected]
> Subject: qpidd using approx 10x memory
>
> When filling up some queues, I noticed that the qpidd process was using about 
> 10x the memory than was actually being used by the queues. To do a simple 
> test on this I wrote a simple client that sends a bunch of messages that get 
> stored in the queue, then compared the total byte depth with the memory used 
> by qpidd.
>
> After sending 1 million messages, the byte count (using qpid-stat -q) showed 
> 105MB, but checking the memory usage I saw 1.4GB (checked with htop and 
> pmap). The messages were approximately 100 bytes large, so the byte count 
> from qpid-stat makes sense. What doesn't make sense is that the total memory 
> usage is over 10x as big. I checked the memory usage of qpidd before 
> connecting with the client to send the messages and it was around 200MB, so 
> there is still a discrepancy of about 1.1GB. These results also match with 
> the original problem with an application I'm working on where qpidd used up 
> all my memory (16GB) even though the queue sizes added up to about 1GB.
>
> I'm using version 0.10. Is this a known issue? I couldn't find it in the 
> issue tracker. Any workarounds?
>
>
> Here is how I created the exchange/queues:
> $ ./qpid-config add exchange direct qvue
> $ ./qpid-config add queue testQueue
> $ ./qpid-config bind qvue testQueue testBind
>
>
> Here is the client code I used:
> #include <iostream>
> #include <qpid/client/Message.h>
> #include <qpid/client/Connection.h>
> #include <qpid/client/Session.h>
>
> using namespace std;
> using namespace qpid::client;
>
> int main(int argc, char** argv) {
>     Connection connection;
>     connection.open("127.0.0.1");
>     Session session = connection.newSession();
>
>     int count = 0;
>     while(true) {
>         Message msg;
>         msg.setData("Hello World! 0123456789 abcdefghijklmnopqrstuvwxyz 
> weeeeeeeeeeeeeooooooooooooooooooooooooooooooooooooooo!");
>         msg.getDeliveryProperties().setRoutingKey("testBind");
>         session.messageTransfer(qpid::client::arg::content=msg, 
> qpid::client::arg::destination="testQueue");
>         count++;
>         if (count % 1000 == 0) {
>             cout << count << " messages sent" << endl;
>         }
>     }
>     return 0;
> }
>
>
> Thanks,
> Jeff
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:[email protected]
>
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:[email protected]
>


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to