What is the difference between a process and a thread?
Sponsored Links
If you're new here, you may want to subscribe to my RSS feed or email. Thanks for visiting!
Process is defined as the virtual address space and the control information necessary for the execution of a program while Threads are a way for a program to split itself into two or more simultaneously running tasks. In general, a thread is contained inside a process and different threads in the same process share some resources while different processes do not.
In terms of Loadrunner, when we run Vuser as a process, LoadRunner creates 1 process called mmdrv.exe per Vuser. So if we have 10 Vusers, we will have 10 mmdrv.exe processes on our machines.
while when we run Vuser as a thread, LoadRunner creates 1 thread per Vuser. So if we have 10 Vusers, then we will have 1 process with 10 threads running inside it if the limit is 10 threads per process.
Running Vuser as a thread is more memory efficient that running Vuser as a process for obvious reasons that less memory resources are utilized when we run them as thread. I read somewhere that running as a process has an advantage that system becomes more stable. Now how is that stability achieved? I am not sure…Can someone clarify this point to me?
Note that while running Java Virtual User, JVM’s are loaded per process and will follow the same principle above.
Related: What is RAM, Memory Usage, CPU Usage, Paging in terms of LoadRunner?
If you enjoyed this post, make sure you subscribe to my RSS feed!
Related posts:
- Difference between concurrent and simultaneous vuser
- RAM, Memory Usage, CPU Usage, Paging in terms of LoadRunner
- How to calculate memory requirement for Vusers
- What is memory leak, page fault and how they affect LoadRunner performance?
Comments
Leave a Reply