2010/11/13 Simon King <[email protected]>:
> Hi Dave!
>
> On 12 Nov., 16:22, "Dr. David Kirkby" <[email protected]> wrote:
>> On 11/12/10 03:10 PM, Dr. David Kirkby wrote:
>>
>> I meant to say Sage is NOT the place to
>>
>> look. vmstat, sar (possibly top) are worth looking at.
>
> top would not help. It simply says that my process is sometimes only
> taking 30% CPU time, but it gives no indication *why*. Note that it is
> only a guess that I/O are to blame.
>
> Moreover, a system tool would not tell me in what part of my programs
> the problem is located. "prun" might give some hint. However, since my
> programs use external programs as well as compiled components and
> interfaces, I was hoping for a tool that tracks all I/O processes
> occuring during my computation.
>
> Perhaps there is a system tool for that purpose. I think it would help
> me if some tool would produce a list of all file names to which I/O
> happened, and record the I/O time for each file.
Probably the best tool on linux should be perf, e.g:
$ perf record -f /bin/sh -c "complex command line"
$ perf report
-f to overwrite previous recording and "/bin/sh -c" if needs pipes, etc
better to do it on an idle system as it reports time kernel and in other
processes.
Example in my computer (while doing a system update)
$ perf record -f sage
----------------------------------------------------------------------
| Sage Version 4.6, Release Date: 2010-10-30 |
| Type notebook() for the GUI, and license() for information. |
----------------------------------------------------------------------
sage:
Exiting Sage (CPU time 0m0.08s, Wall time 0m7.88s).
[ perf record: Woken up 2 times to write data ]
[ perf record: Captured and wrote 0.451 MB perf.data (~19711 samples) ]
$ perf report|less
# Samples: 14408076653
#
# Overhead Command
Shared Object Symbol
# ........ ............ ......................................................
.................................... ......
#
13.46% python libpython2.7.so.1.0
[.] PyParser_AddToken
11.32% python libpython2.7.so.1.0
[.] 0x00000000027ca8
7.84% python libpython2.7.so.1.0
[.] 0x000000000643bd
5.46% python libpython2.7.so.1.0
[.] 0x000000000ca601
3.79% python libpython2.7.so.1.0
[.] 0x000000000725fb
2.63% python libpython2.7.so.1.0
[.] PyEval_EvalFrameEx
2.26% python libpython2.7.so.1.0
[.] PyTokenizer_Get
2.25% python libpython2.7.so.1.0
[.] 0x000000000dc72c
2.16% python libpython2.7.so.1.0
[.] PyObject_Malloc
2.15% python libpython2.7.so.1.0
[.] PyObject_Free
2.08% python libpython2.7.so.1.0
[.] PyNode_AddChild
[...]
> Best regards,
> Simon
Paulo
--
To post to this group, send an email to [email protected]
To unsubscribe from this group, send an email to
[email protected]
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org