Can't find something similar to windows resource monitor software (input output monitor). I need tool which draws disk load graphic and processes which uses disk input or output. There are a lot of console alternatives (iotop), but they are not comfortable to use (i can't quickly kill process, copy name of process, look at the graph, they need root access etc.). Is there are gui alternative to this? (on screenshot)
Ubuntu – Disk monitor software
alternativedisk-usagedisk-utilityiosoftware-recommendation
Related Solutions
Lock Screen Timer
Create your own Screen Lock Timer instead of 3rd Party applications
Although there are 3rd Party applications to do this, you can create your own. Summary of steps:
- Use
gedit
to create scriptlock-screen-timer
- Copy and paste code from this window to
lock-screen-timer
- Mark
lock-screen-timer
as an executable - Test it!
- Configure Nautilus to execute bash scripts
- Create desktop shortcut link
- Monitor time remaining
Use gedit
to create script lock-screen-timer
Open the Terminal
using Ctrl+Alt+T and type:
gedit lock-screen-timer
Copy and paste code from window below to lock-screen-timer
Toggle back to this screen and copy the following code by highlighting it and pressing Ctrl+C:
#!/bin/bash
# NAME: lock-screen-timer
# PATH: $HOME/bin
# DESC: Lock screen in x minutes
# CALL: Place on Desktop or call from Terminal with "lock-screen-timer 99"
# DATE: Created Nov 19, 2016. Last revision Mar 22, 2018.
# UPDT: Updated to support WSL (Windows Subsystem for Linux)
# Remove hotplugtv. Replace ogg with paplay.
# NOTE: Time defaults to 30 minutes.
# If previous version is sleeping it is killed.
# Zenity is used to pop up entry box to get number of minutes.
# If zenity is closed with X or Cancel, no screen lock timer is launched.
# Pending lock warning displayed on-screen at set intervals.
# Write time remaining to ~/.lock-screen-timer-remaining
MINUTES="$1" # Optional parameter 1 when invoked from terminal.
# if no parameters set default MINUTES to 30
if [ $# == 0 ]; then
MINUTES=30
fi
DEFAULT="$MINUTES" # When looping, minutes count down to zero. Save deafult for subsequent timers.
# Check if lock screen timer already running
pID=$(pgrep -f "${0##*/}") # All PIDs matching lock-screen-timer name
PREVIOUS=$(echo "$pID" | grep -v ^"$$") # Strip out this running copy ($$$)
if [ "$PREVIOUS" != "" ]; then
kill "$PREVIOUS"
rm ~/.lock-screen-timer-remaining
zenity --info --title="Lock screen timer already running" --text="Previous lock screen timer has been terminated."
fi
# Running under WSL (Windows Subsystem for Linux)?
if cat /proc/version | grep Microsoft; then
WSL_running=true
else
WSL_running=false
fi
while true ; do # loop until cancel
# Get number of minutes until lock from user
MINUTES=$(zenity --entry --title="Lock screen timer" --text="Set number of minutes until lock" --entry-text="$DEFAULT")
RESULT=$? # Zenity return code
if [ $RESULT != 0 ]; then
break ; # break out of timer lock screen loop and end this script.
fi
DEFAULT="$MINUTES" # Save deafult for subsequent timers.
if [[ $MINUTES == 0 ]] || [[ $MINUTES == "" ]]; then
break ; # zero minutes considered cancel.
fi
# Loop for X minutes, testing each minute for alert message.
(( ++MINUTES ))
while (( --MINUTES > 0 )); do
case $MINUTES in 1|2|3|5|10|15|30|45|60|120|480|960|1920)
notify-send --urgency=critical --icon=/usr/share/icons/gnome/256x256/status/appointment-soon.png "Locking screen in ""$MINUTES"" minute(s)." ;
if [[ $WSL_running == true ]]; then
powershell.exe -c '(New-Object Media.SoundPlayer "C:\Windows\Media\notify.wav").PlaySync();'
else
paplay /usr/share/sounds/freedesktop/stereo/complete.oga ;
fi
;;
esac;
# Record number of minutes remaining to file other processes can read.
echo "$MINUTES Minutes" > ~/.lock-screen-timer-remaining
sleep 60
done
rm ~/.lock-screen-timer-remaining # Remove work file others can see our progress with
if [[ $WSL_running == true ]]; then
# Call lock screen for Windows 10
rundll32.exe user32.dll,LockWorkStation
else
# Call screen saver lock for Ubuntu versions > 14.04.
dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock
fi
done # End of while loop getting minutes to next lock screen
exit 0 # Closed dialog box or "Cancel" selected.
Then toggle back to the empty gedit
window and paste the code using Ctrl+V. Save the file and exit the editor back to the command prompt.
Mark lock-screen-timer
as an executable
Now we need to make the script executable by typing:
chmod +x lock-screen-timer
Test It!
Before calling the script from the GUI, we'll call it from the terminal so we can see if any error messages are displayed:
~/lock-screen-timer
You are prompted for the number of minutes:
Set the desired number of minutes and click OK to start the timer. When there are 15, 10, 5, 3, 2 and 1 minute(s) left a system sound is heard and a message bubble appears advising when the screen will be locked. After the screen is locked you need to enter your password to unlock the screen.
Configure Nautilus to execute bash scripts
Nautilus defines what happens when we double click on an executable script when it's the files display window or a link on on the desktop. Normal behavior is to edit the script using gedit
. We want to change this behavior such that it is executed.
Start Nautilus and navigate to directory containing lock-screen-timer
. Left click on it once to give it focus. Hover mouse over top menu bar until "File Edit..." menu appears, use:
- Click
Edit
drop-down menu - Click
Properties
option - Click
Behavior
tab - Observe the radio option buttons under
Executable Text Files
- Check radio button
Run executable text files when they are opened
Create desktop shortcut link
From previous section lock-screen-timer
still has focus. If not, navigate to the script and left click on it once to give it focus. Then use:
- Right click on the file and the context-menu options appear.
- From the menu select
Make Link
. - A new icon appears called
Link to lock-screen-timer
. - Left click on the new icon and drag it from Nautilus to your desktop.
Now you can double click on the desktop shortcut link and the script is run. A dialog box appears to get the number minutes. Two buttons are presented Cancel and OK. If you click the X
to close the window it is the same as selecting Cancel.
After the timer is running and you double click on it again the first running copy is "killed". You can now start a new scren lock countdown or click Cancel for no countdown.
Display Time Remaining in systray / notification area
While lock screen timer is running it records how many minutes are remaining into the file ~/.lock-screen-timer-remaining
. You can look at this file with the watch
command or display it on Ubuntu's system tray / application indicator bar as shown at the top of this answer. To display time remaining in the notification area, follow the instructions in this Q&A: (Can BASH display in systray as application indicator?).
Related Question
- Parental Controls – How to Restrict Kids’ Computing Time
- Ubuntu – Advanced disk usage analyzing software
- Ubuntu – Investigate disk writes further to find out which process writes to the SSD
- Ubuntu – ubuntu supported X.org alternative (i.e. with security in mind)
- Ubuntu – How to take screenshot of complete webpages
- Ubuntu – Find out which file a process is writing when PID changes all the time
Best Answer
The
htop
program doesn't require root access to see disk usage of your own processes and with a little configuration it lets you sort by read/write IO, and it's a great tool for interactively killing processes.It's also terminal based, which has the advantage of working over SSH.
Go to F2 (Setup) and then select
IO_READ_RATE
andIO_WRITE_RATE
.After you're finished selecting columns, go to F10 (Done) and you will see the new columns, including
IO_READ_RATE
abbreviated asIORR
andIO_WRITE_RATE
abbreviated asIOWR
.You can sort by the relevant column with F6 (SortBy). This shows sorting by
IORR
. You can see thatdu
andioping
are using the most.Note that for security reasons -- CVE-2011-2494 -- you cannot see disk usage by programs running as other users unless you run
htop
as root. (How many bytes a process uses could expose e.g. lengths of ssh usernames and passwords.)Related questions:
https://superuser.com/questions/50091/how-do-i-find-out-what-processes-are-accessing-the-hard-disk-in-a-gnu-linux-base
https://serverfault.com/questions/169676/howto-check-disk-i-o-utilisation-per-process
https://stackoverflow.com/questions/14021810/finding-process-with-heavy-disk-i-o