![]() |
|
FreeBSD General Other questions regarding FreeBSD which do not fit in any of the categories below. |
![]() |
|
Thread Tools | Display Modes |
|
|||
![]()
How is it possible to do adequate monitoring and optimizing of a FreeBSD server without something like mpstat? Even 7 doesn't have it.
|
|
||||
![]()
What the heck is mpstat?
__________________
My Journal Thou shalt check the array bounds of all strings (indeed, all arrays), for surely where thou typest ``foo'' someone someday shall type ``supercalifragilisticexpialidocious''. |
|
|||
![]()
mpstat is what you need to monitor multiprocess machines to learn what the loads are on a per-processor basis. It's why monitoring software stats looks so different on Linux and some other UNIXs than it does FreeBSD. Windows has similar capabilities. I was hoping that perhaps 7 would have the ability that I was missing but I didn't see it mentioned in 7 or 8.
|
|
|||
![]()
Check procstat(1) on 8.0 CURRENT snapshot.
|
|
|||
![]()
procstat returns the statistics of a process. It will tell you what files it has open, what sockets it has open, what address space it is using, command line arguments, file descriptor information, stacks of the kernel threads in the process, security credentials information from the process, thread information and virtual memory mappings, etc. That's incredibly useful, but I don't see it able to show the processors, their loads. With all of the MP work on the kernel, I would have thought that mpstat would be there. It must be the counters are STILL not there. mpstat in concert with procstat, would allow FreeBSD to leverage performance tools on par with those available for Linux, Solaris, and Windows.
For FreeBSD 8, we are talking sometime in 2009 at the earliest. I was hoping for something I could use in 7. Worse, I don't see mpstat planned for 8. I really hope I'm missing something. |
|
|||
![]()
If you want mpstat(1) clone in FreeBSD as it is in Solaris and Linux the forums are last place to ask for it. There are mailing lists for this type of question.
|
|
|||
![]() Quote:
If anybody knows of a more in-depth forum for FreeBSD, I'm all ears. I got here from another forum they say has a spam problem. |
|
|||
![]()
Are you kidding, I will not repeat it twice.
|
|
|||
![]()
While the functionality of mpstat does not appear to be available in FreeBSD at least through 7, I've devised a method to where I can calculate the missing component with sufficient accuracy(hopefully) for monitoring and tuning purposes.
Thanks all for scratching your head with me. |
|
|||
![]()
The reason that I didn't outright say is because if you notice I said hopefully, meaning it is still a hypothesis. I can tell you what that hypothesis is. top is pretty flexible. FreeBSD doesn't appear to have the counters Linux has, but you do get totals in the top. What if I asked top for the 100,000. I would not get that many because there wouldn't be that many, which would mean I would get all of them.(It appears) The detail itself shows you the processor it runs on, as well as the % of... good question, probably the total, but I'm not that far yet. It's unlikely the totals of the detail will be the same for each processor. You also have the idle% on the top. By using the idle % at the top, and doing ratios with the detail data, one should be able to calculate a good approximation of the load for each cpu. With the user and application information available in the detail, there should be enough to rope what I need to find out what is going on, and thus provide intelligent monitoring and tweaking. The reason that I would not want to get too excited, is because I know of no monitoring program nor control panel that does this. Normally, if you have FreeBSD, you simply don't get near the information that you get with Linux, Solaris, and Windows. That could mean different things:
A) They never thought of it. B) FreeBSD is the red headed step child of the market, and application developers don't want to add the code to their app and/or didn't care enough about it to come up with a solution. C) There is a tool that already does this that I'm not aware of. D) They already tried my hypothesis and it doesn't work well enough to use. If it does work well enough to use, my mind is racing with possibilities. Even if it does work, for security reasons it cannot be left monolithic, thus that would need to be worked out as well. Thus, this is not a bird in hand, it's a bird in the bush. |
|
||||
![]()
Forums are not everyones favorite, I for example am a forum person !
It's the developers writing the code, if the developers prefer mailing lists, so be it.
__________________
My Journal Thou shalt check the array bounds of all strings (indeed, all arrays), for surely where thou typest ``foo'' someone someday shall type ``supercalifragilisticexpialidocious''. |
![]() |
Thread Tools | |
Display Modes | |
|
|