Threads vs processes in ps and top?
Furnish, Trever G
TGFurnish at herffjones.com
Fri Jan 6 23:32:14 UTC 2006
I have a RHEL 3 ES system running tomcat as a standalone application
server (ie not parented by apache). I have to restart tomcat frequently
to keep the system from running so low on memory that a lot of swapping
occurs, at which point load sky-rockets because of I/O bottlenecks with
the disks.
I'm being stymied by the fact that none of the most basic tools seem to
be able to help in this situation because everything happens in a single
java process with many threads and the disks are one LVM volume group.
If I run top and sort by memory usage, I see what I'm presuming are
really a bunch of threads in one java process, because the memory
consumption is identical for all of them (and greatly exceeds the amount
of both physical RAM and swap space on the system). How can I
differentiate between threads and processes in the output of top and ps?
I'd prefer to list only processes, so that I can easily count up real
memory usage and cpu usage.
If anyone gets past that problem, I have another one - because there's
only one volume group with several logical volumes, iostat is
effectively useless - it shows only disk I/O counters for the disk
partitions, not for the individual filesystems. Here's an example (and
note that I can't even see how to translate to the seemingly arbitrary
lvm device names to real lvm volumes!):
[root at mixx6 central]# iostat ALL
Linux 2.4.21-37.ELsmp (mixx6) 01/06/2006
avg-cpu: %user %nice %sys %iowait %idle
4.04 0.00 4.26 5.66 86.04
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
lvma 0.00 0.00 0.00 0 0
lvmb 0.00 0.00 0.00 0 0
lvmc 0.00 0.00 0.00 0 0
lvmd 0.00 0.00 0.00 0 0
lvme 0.00 0.00 0.00 0 0
lvmf 0.00 0.00 0.00 0 0
lvmg 0.00 0.00 0.00 0 0
lvmh 0.00 0.00 0.00 0 0
cciss/c0d0 83.41 98.28 311.90 544547782 1728238298
cciss/c0d0p1 0.00 0.00 0.00 1798 1090
cciss/c0d0p2 83.41 98.28 311.90 544545696 1728237208
And for reference, here's the /etc/fstab:
[root at mixx6 central]# cat /etc/fstab
/dev/vg00/lvol3 / ext3 defaults,acl
1 1
LABEL=/boot /boot ext3 defaults
1 2
none /dev/pts devpts gid=5,mode=620
0 0
/dev/vg00/lvol4 /home ext3 defaults
1 2
none /proc proc defaults
0 0
none /dev/shm tmpfs defaults
0 0
/dev/vg00/lvol6 /tmp ext3 defaults
1 2
/dev/vg00/lvol7 /usr ext3 defaults,acl
1 2
/dev/vg00/lvol8 /var ext3 defaults,acl
1 2
/dev/vg00/lvol9 /x01 ext3 defaults,acl
1 2
/dev/vg00/lvol2 swap swap defaults
0 0
/dev/cdrom /mnt/cdrom udf,iso9660
noauto,owner,kudzu,ro 0 0
LABEL=/opt /opt ext3 defaults,acl
1 2
Thanks for any advice.
--
Trever
More information about the redhat-list
mailing list