Wednesday, April 16, 2008

nixCraft Linux Sys Admin Blog

nixCraft Linux Sys Admin Blog

Link to nixCraft Linux Sys Admin Blog

ktrace - FreeBSD / Mac OS X Process Tracing and Reporting Tool

Posted: 16 Apr 2008 05:31 PM CDT

Under Linux you can use strace or valgrind tool for reporting and finding a bug. However, under *BSD / Mac OS X you need to use ktrace as replacement for strace tool.

kreace runs on the following platforms:
=> FreeBSD
=> OpenBSD
=> Mac OS X
=> NetBSD

The ktrace utility enables kernel trace logging for the specified processes. Kernel trace data is logged to the file ktrace.out. The kernel operations that are traced include system calls, namei translations, sig nal processing, and I/O. Once tracing is enabled on a process, trace data will be logged until either the process exits or the trace point is cleared. A traced process can generate enormous amounts of log data quickly; It is strongly suggested that users memorize how to disable tracing before attempting to trace a process.

To trace all kernel operations for process id # 2546, enter:
$ ktrace -p 2546
To disable all tracing of process # 2546, enter:
$ ktrace -cp 2546
To disable tracing on all user-owned processes, and, if executed by root, all processes in the system:
# ktrace -C
Attach to process id # 123 and log trace records to myapp.dbg.log instead of ktrace.out.
$ ktrace -p 123 -f myapp.dbg.log
To enable tracing of I/O on process # 123
$ ktrace -ti -p 123
The -t option is very useful to trace various kernel trace points, one per letter. The following table equates the letters with the trace points:

  • c : trace system calls
  • n : trace namei translations
  • i : trace I/O
  • s : trace signal processing
  • u : userland traces
  • w : context switches
  • + : trace the default set of trace points - c, n, i, s, u

Run the command called myapp and track only system calls, enter:
$ ktrace -tc ./myapp
Please note that the output of ktrace is not as informative as strace, but it does help to solve many problems.

truss: trace system calls

FreeBSD has another tool called truss. It traces the system calls called by the specified process or program. Output is to the specified output file, or standard error by default.
Attach to an already-running process # 123, enter
$ truss -p 123
Follow the system calls used myapp
$ truss ./myapp -d /tmp -f 120
Same as above, but put the output into a file called /tmp/myapp.dbg
$ truss -o /tmp/truss.out ./myapp -d /tmp -f 120

strace under FreeBSD

You can install strace under FreeBSD and other *BSD like oses.

Further readings:

  • ktrace man page
  • truss man page

Continue reading rest of the How to report / Find a bug under Linux series.

Related Posts:



© ktrace - FreeBSD / Mac OS X Process Tracing and Reporting Tool - nixCraft - Support nixCraft when you shop at amazon. Thanks!

andLinux - Run Windows and Linux Without Virtualization

Posted: 16 Apr 2008 04:35 PM CDT

If you cannot get rid of Windows due to application software compatibility issues, try andLinux.

Linux does everything that many users want it to, but some people have tasks that require Windows applications. You can dual-boot both operating systems, or run Windows in a virtualized environment on Linux. Alas, virtualization makes the guest OS almost useless for processor- and RAM-intensive tasks like editing videos and playing games. Now, a Ubuntu-based distro called andLinux takes cooperation with Windows to a whole new level.

=> Run Windows and Linux without virtualization

Related Posts:



© andLinux - Run Windows and Linux Without Virtualization - nixCraft - Support nixCraft when you shop at amazon. Thanks!

Sun touts big plans for OpenSolaris as first release nears

Posted: 16 Apr 2008 04:22 PM CDT

Sun is planning to release OpenSolaris soon with better package management, GNU userland tools and fast release cycle just like Fedora or Ubuntu Linux. Sun's Ian Murdock gave a presentation about OpenSolaris at LugRadio Live this past weekend. He explained how OpenSolaris reflects Sun's changing platform strategy and also discussed some of the technical attributes that differentiate OpenSolaris from Linux.

The first steps towards this goal have been realized in the latest developer preview release of OpenSolaris which offers a complete GNOME desktop environment as well as a package system and an installer. The final release will take place in May and the distribution will adhere to a six-month release cycle, just like Fedora and Ubuntu.

Few suggestion...

  • Get Gnome desktop instead of Sun branded Java desktop. Please keep your corporate color away from my desktop.
  • Currently OpenSolaris does not support virtual console
  • Get complete package collection; I want something like FreeBSD ports or GNU/Debian APT repos.
  • Get pulse-audio or may be ALSA sound support

=> Sun touts big plans for OpenSolaris as first release nears

Related Posts:



© Sun touts big plans for OpenSolaris as first release nears - nixCraft - Support nixCraft when you shop at amazon. Thanks!

FreeBSD Mount /proc File System Command

Posted: 16 Apr 2008 06:07 PM CDT

Q. Few commands under FreeBSD depends upon procfs (process file system). FreeBSD does not mount it by default. How do I mount /proc (procfs) from a shell prompt? A. Yes few commands will not work, as procfs has to be mounted. The process file system, or procfs, implements a view of the system process table [...]

Answer to "FreeBSD Mount /proc File System Command"


Copyright © nixCraft. All Rights Reserved. Support nixCraft when you shop at amazon. Thanks!

No comments: