Sponsored Content
Full Discussion: multi-threaded memory leak
Top Forums Programming multi-threaded memory leak Post 302414163 by botao on Monday 19th of April 2010 11:09:22 AM
Old 04-19-2010
it's not just memory

consider this :

first: creating a lot of threads does not mean necessarily that a lot of memory will be consumed ;

(that's because the amount of memory used just to create and manage a thread is rather small)

-- then you would have to make your thread function "use" (really use) some - or a lot of - memory in order to actually see a system memory shortage ;

second: by the code you provided, I suspect you will run out of file descriptors way much sooner than any memory shortage can be perceived ;

and last, but not least: creating a very large number of threads may result in an overall system response time degradation, due to the scheduling of so many threads, depending on the thread support implementation on your host ;

(that's because "N:1" or "pure user mode" threads would not harm your system's performance, for the operating system would not perceive that many threads as they are all in userland, as well as the thread scheduling ;
but if, on the other hand, your thread implementation is "1:1" or "pure kernel threads", then this code of yours is sure to slow all of your system down to a near halt - unless you have a plethora of cores and a really fast clock)

good luck, and success !
alexandre botao
<< botao {dot} org >>
 

10 More Discussions You Might Find Interesting

1. Programming

multi-threaded server, pthreads, sleep

I am trying to writa a multi-client & multi-threaded TCP server. There is a thread pool. Each thread in the pool will handle requests of multiple clients. But here I have a problem. I find a solution but it is not how it must be... i think. When threads working without sleep(1) I can't... (0 Replies)
Discussion started by: Parahat Melayev
0 Replies

2. Programming

about virtual memory and memory leak

Hi, First of all I appreciate this group very much for its informative discussions and posts. Here is my question. I have one process whose virtual memory size increases linearly from 6MB to 12MB in 20 minutes. Does that mean my process has memory leaks? In what cases does the... (4 Replies)
Discussion started by: shriashishpatil
4 Replies

3. Programming

HOWTO: Calculate the balance of work in multi-threaded app.

I was wondering if anyone could give me a good idea how to calculate how balanced the threading is on a multi-threaded application. I want a percentage, such as "threads are 80% balanced." This is the way I am currently going about it, maybe it is good, maybe not. First, whenever a thread... (2 Replies)
Discussion started by: DreamWarrior
2 Replies

4. AIX

multi threaded program is hanging

I have a Multithreaded program which is hanging on AIX. OS Version: AIX 5.2 and thread library version : 5.2.0.75 We Initiate the process with 50 threads..when we are disconnecting from the process it hangs.There is lots of other stuff involved here.I am just sending the piece of the problem with... (0 Replies)
Discussion started by: hikrishn
0 Replies

5. Shell Programming and Scripting

In need of multi threaded perl assistance

I need to write a perl script to execute external programs and grab the output and return code. Each program should be killed if it has not completed within X seconds. Imagine that the script goes something like this : @commands = &get_commands(); foreach $cmd (@commands) { $pid =... (4 Replies)
Discussion started by: SandmanCL
4 Replies

6. UNIX for Advanced & Expert Users

Multi-threaded encryption @ Fedora 11

Hello, are any of the encryption programs capable of true multi-threading ? Friend of mine tells me that he's been running some testing on Fedora 11 and that the kernel doesn't support multi-threading at that level. I've been looking into TrueCrypt, encfs and both calm to support... (0 Replies)
Discussion started by: TehOne
0 Replies

7. Linux

Multi-threaded encryption @ Fedora 11

Hello, are any of the encryption programs capable of true multi-threading ? Friend of mine tells me that he's been running some testing on Fedora 11 and that the kernel doesn't support multi-threading at that level. I've been looking into TrueCrypt, encfs and both calm to support... (1 Reply)
Discussion started by: TehOne
1 Replies

8. Programming

Memory Leak

Hi, I am trying a database server which keeps a B+ plus tree structure and works on it. I am trying to find the memory used/leak while executing this process. I check the memory leak by using ps uax command. When i execute a delete query i am sure that my code frees up the existing... (9 Replies)
Discussion started by: kumaran_5555
9 Replies

9. Programming

Deallocating memory in multi-threaded environment.

I'm having a hard time figuring out how to manage deallocation of memory in multithreaded environments. Specifically what I'm having a hard time with is using a lock to protect a structure, but when it's time to free the structure, you have to unlock the lock to destroy the lock itself. Which will... (5 Replies)
Discussion started by: gngrwzrd
5 Replies

10. Shell Programming and Scripting

script for multi-threaded bash processes

hey everyone, I'm having some trouble breaking down some code. It's simple a control script that takes machines meant to be backed up from a list. Then according to that will run multi-threaded processes up until the specified thread limit. for example if there are 4 machines to be backed up,... (2 Replies)
Discussion started by: terrell
2 Replies
ovs-brcompatd(8)						Open vSwitch Manual						  ovs-brcompatd(8)

NAME
ovs-brcompatd - Bridge compatibility front-end for ovs-vswitchd SYNOPSIS
ovs-brcompatd [options] DESCRIPTION
A daemon that provides a legacy bridge front-end for ovs-vswitchd. It does this by listening for bridge ioctl commands (e.g., those gener- ated by the brctl program) to add or remove datapaths and the interfaces that attach to them. OPTIONS
--appctl=program Sets the name to the program that ovs-brcompatd runs to communicate with ovs-vswitchd. The default is ovs-appctl. Unless program contains /, ovs-brcompatd will search the PATH environment variable to find it. --vsctl=program Sets the name to the program that ovs-brcompatd runs to communicate with ovsdb-server. The default is ovs-vsctl. Unless program contains /, ovs-brcompatd will search the PATH environment variable to find it. --pidfile[=pidfile] Causes a file (by default, ovs-brcompatd.pid) to be created indicating the PID of the running process. If the pidfile argument is not specified, or if it does not begin with /, then it is created in /var/run/openvswitch. If --pidfile is not specified, no pidfile is created. --overwrite-pidfile By default, when --pidfile is specified and the specified pidfile already exists and is locked by a running process, ovs-brcompatd refuses to start. Specify --overwrite-pidfile to cause it to instead overwrite the pidfile. When --pidfile is not specified, this option has no effect. --detach Causes ovs-brcompatd to detach itself from the foreground session and run as a background process. --monitor Creates an additional process to monitor the ovs-brcompatd daemon. If the daemon dies due to a signal that indicates a programming error (e.g. SIGSEGV, SIGABRT), then the monitor process starts a new copy of it. If the daemon die or exits for another reason, the monitor process exits. This option is normally used with --detach, but it also functions without it. --no-chdir By default, when --detach is specified, ovs-brcompatd changes its current working directory to the root directory after it detaches. Otherwise, invoking ovs-brcompatd from a carelessly chosen directory would prevent the administrator from unmounting the file system that holds that directory. Specifying --no-chdir suppresses this behavior, preventing ovs-brcompatd from changing its current working directory. This may be useful for collecting core files, since it is common behavior to write core dumps into the current working directory and the root directory is not a good directory to use. This option has no effect when --detach is not specified. -vmodule[:facility[:level]], --verbose=module[:facility[:level]] Sets the logging level for module in facility to level: o module may be any valid module name (as displayed by the --list action on ovs-appctl(8)), or the special name ANY to set the logging levels for all modules. o facility may be syslog, console, or file to set the levels for logging to the system log, the console, or a file respec- tively, or ANY to set the logging levels for both facilities. If it is omitted, facility defaults to ANY. Regardless of the log levels set for file, logging to a file will not take place unless --log-file is also specified (see below). o level must be one of off, emer, err, warn, info, or dbg, designating the minimum severity of a message for it to be logged. If it is omitted, level defaults to dbg. See ovs-appctl(8) for a definition of each log level. -v, --verbose Sets the maximum logging verbosity level, equivalent to --verbose=ANY:ANY:dbg. -vPATTERN:facility:pattern, --verbose=PATTERN:facility:pattern Sets the log pattern for facility to pattern. Refer to ovs-appctl(8) for a description of the valid syntax for pattern. --log-file[=file] Enables logging to a file. If file is specified, then it is used as the exact name for the log file. The default log file name used if file is omitted is /var/log/openvswitch/ovs-brcompatd.log. -h, --help Prints a brief help message to the console. -V, --version Prints version information to the console. --check-leaks=file Logs information about memory allocation and deallocation to file, to allow for debugging memory leaks in ovs-brcompatd. This option slows down ovs-brcompatd considerably, so it should only be used when a memory leak is suspected. Use the ovs-parse-leaks script to interpret the leak file. --leak-limit=size Limits size of the leak file as specified by --check-leaks to size bytes. Finding leaks sometimes requires allowing the leak file to grow very large, up to 1GB. By default, files are limited to 10MB. NOTES
ovs-brcompatd requires the brcompat_mod.ko kernel module to be loaded. SEE ALSO
ovs-appctl(8), ovs-vsctl(8), ovs-vswitchd(8), ovsdb-server(1), INSTALL.bridge in the Open vSwitch distribution. Open vSwitch March 2009 ovs-brcompatd(8)
All times are GMT -4. The time now is 03:23 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy