Alfred 2 Top Processes Based Memory or CPU Usage Workflow
The initial motive of this workflow is to avoid frequent visits to the Activity Monitor when the fan goes loud. Now it has been evloved with two major features:
Just type -?
, -h
, or --help
after the keyword to show help.
top
: Show a mixed processes list based on top cpu/memory usage.top -m
, top --memory
to show processes ranked by memory usagetop -c
, top --cpu
, to show processes ranked by cpu usagetop -i
, top --io
, to show processes ranked by io usage with callback from top io trace collector.Top IO requires DTrace and it would take a while to finish. The new callback design is to run the job in he background and post a notification (OSX 10.8+) using notification center. Click on the notification to show the result in alfred.
none
: The default action is to list files opened by process IDcontrol
: Kill the selected processcommand
: kill forcefully (kill -9
)alt
: Nice (lower) the selected process's cpu priorityshift
: Search web for process informationkill
: Filter process to kill.none
: The default action is to kill by process IDcommand
: kill forcefully (kill -9
)lsof
: List files opened by process idnone
: The default action is to reveal file in Finderglance
: Show system information including internal battery, bluetooth battery, disk capacity, etc.Activate Alfred Preferences
→ Advanced
→ Top Result Keyword Latching
Hit Enter
for the feedback item you wish to show up on the top.
Two ways are provided:
You can download the Top Processes.alfredworkflow and import to Alfred 2. This method is suitable for regular users.
You can git clone
or fork
this repository and use rake install
and rake uninstall
to install. Check rake -T
for available tasks.
This method create a symlink to the alfred workflow directory: "~/Library/Application Support/Alfred 2/Alfred.alfredpreferences/workflows". This method is suitable for developers.
In OSX 10.9, the system ruby is upgraded to 2.0.0. You need to download the new version of this workflow which packs the ruby gems for 2.0.0 inside.
If the downloaded version does not work, try
1.) open Terminal.app
. If you use rvm or rbenv, switch to the system ruby.
2. run cd "$HOME/Library/Application Support/Alfred 2/Alfred.alfredpreferences/workflows/me.zhaowu.top" && rake bundle:update
This issue is not caused by this workflow but by DTrace. The related system log message is IOHIDSystem cursor update overdue. Resending.
.
In my Macbook Pro, any DTrace based program will introduce this issue including the mac built-in /usr/bin/iotop
, and /Applications/Xcode.app/Contents/Applications/Instruments.app
.
I upgrade to OS X 10.9 and this issue is resolved.
Add the following contents to /etc/launchd.conf
. Restart is required.
setenv LANG en_US.UTF-8
setenv LC_ALL en_US.UTF-8
Copyright (c) 2013 Zhao Cai caizhaoff@gmail.com
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.