Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
linux:tips [2009/03/03 16:43]
a bash colouring
linux:tips [2015/05/08 12:09] (current)
zagi
Line 1: Line 1:
 ====== General linux tips and tricks ====== ====== General linux tips and tricks ======
  
 +
 +===== Limit the CPU usage of an application (process) - cpulimit =====
 +
 +=== Installation: ===
 +
 +Download last stable version of [[http://downloads.sourceforge.net/cpulimit/cpulimit-1.1.tar.gz|cpulimit]]
 +Then extract the source and compile with make:
 +
 +    tar zxf cpulimit-xxx.tar.gz
 +    cd cpulimit-xxx
 +    make
 +
 +Executable file name is cpulimit. You may want to copy it in /usr/bin.
 +
 +Usage:
 +Limit the process 'bigloop' by executable name to 40% CPU:
 +
 +    cpulimit --exe bigloop --limit 40
 +    cpulimit --exe /usr/local/bin/bigloop --limit 40
 +
 +Limit a process by PID to 55% CPU:
 +
 +    cpulimit --pid 2960 --limit 55 
 +
 +<note tip>
 +If your machine has one processor you can limit the percentage from 0% to 100%, which means that if you set for example 50%, your process cannot use more than 500 ms of cpu time for each second. But if your machine has four processors, percentage may vary from 0% to 400%, so setting the limit to 200% means to use no more than half of the available power. In any case, the percentage is the same of what you see when you run top. 
 +</note>
  
 ===== Move a running process into a screen session ===== ===== Move a running process into a screen session =====
Line 91: Line 118:
  
 This will cleanly unmount drives, terminate processes and nicely reboot your machine. This will cleanly unmount drives, terminate processes and nicely reboot your machine.
 +
 +<note important>**If you suspect memory corruption killed your kernel, be careful with Sync option. It may flush corrupted disk buffers over your filesystem and cause more headache after reboot.**</note>
  
 **also for more detailed info see:** [[http://en.wikipedia.org/wiki/Magic_SysRq_key]] **also for more detailed info see:** [[http://en.wikipedia.org/wiki/Magic_SysRq_key]]
Line 237: Line 266:
 | 2 | To free dentries and inodes | | 2 | To free dentries and inodes |
 | 3 | To free pagecache, dentries and inodes | | 3 | To free pagecache, dentries and inodes |
 +
 +===== Linux memory management =====
 +
 +Memory overcommit can be configured via two parameters:
 +
 +   loreto:/tmp # sysctl -a|grep overcommit
 +   vm.overcommit_ratio = 50
 +   vm.overcommit_memory = 0
 +
 +From Red Hat manual:
 +
 +    * **''overcommit_memory''** — Configures the conditions under which a large memory request is accepted or denied. The following three modes are available:
 +       * **0** — The kernel performs heuristic memory over commit handling by estimating the amount of memory available and failing requests that are blatantly invalid. Unfortunately, since memory is allocated using a heuristic rather than a precise algorithm, this setting can sometimes allow available memory on the system to be overloaded. This is the default setting.
 +       * **1** — The kernel performs no memory over commit handling. Under this setting, the potential for memory overload is increased, but so is performance for memory intensive tasks (such as those executed by some scientific software).
 +       * **2** — The kernel fails requests for memory that add up to all of swap plus the percent of physical RAM specified in ''/proc/sys/vm/overcommit_ratio''. This setting is best for those who desire less risk of memory overcommitment.
 +
 +//**Note** This setting is only recommended for systems with swap areas larger than physical memory.//
 +
 +    * **''overcommit_ratio''** — Specifies the percentage of physical RAM considered when ''/proc/sys/vm/overcommit_memory'' is set to 2. The default value is 50.
 +
  
 ===== /proc/sys/vm/vfs_cache_pressure ===== ===== /proc/sys/vm/vfs_cache_pressure =====
Line 253: Line 302:
    * If you want kernel to swap out more process memory and thus cache more file contents increase the value. Otherwise, if you would like kernel to swap less decrease it.    * If you want kernel to swap out more process memory and thus cache more file contents increase the value. Otherwise, if you would like kernel to swap less decrease it.
    * More info [[http://lwn.net/Articles/83588/|2.6 swapping behavior]]    * More info [[http://lwn.net/Articles/83588/|2.6 swapping behavior]]
 +
 +Example:
 +   * ''swappiness=0'' tells the kernel to avoid swapping processes out of physical memory for as long as possible
 +   * ''swappiness=100'' tells the kernel to aggressively swap processes out of physical memory and move them to swap cache
 +   * A value of ''swappiness=10'' is recommended, but feel free to experiment.
 +
  
 ===== Getting rid of that obsolete delay after password authentication ===== ===== Getting rid of that obsolete delay after password authentication =====
Line 305: Line 360:
  
 If you have a reliable server with a good RAID card and power supply, you could set the dirty_ratio to 100 and the dirty_background_ratio to 1. This was recommended by a buddy of mine who runs quite a few servers running virtual machines. If you have a reliable server with a good RAID card and power supply, you could set the dirty_ratio to 100 and the dirty_background_ratio to 1. This was recommended by a buddy of mine who runs quite a few servers running virtual machines.
 +
 +===== convert files from ISO to UTF-8 ====
 +
 +<code> 
 +for x in `find . -name '*.htm'` ; do iconv -f ISO-8859-2 -t UTF-8 $x > "$x.utf8"; rm $x; mv "$x.utf8" $x; done
 +</code>
 +
  
 ===== How do I force users to change their passwords upon first login? ===== ===== How do I force users to change their passwords upon first login? =====
Line 320: Line 382:
    # usermod -U <username>    # usermod -U <username>
  
 +=== space report === 
 +for i in `ls -1 /home`;do du -sh /home/$i|mail $i -a "From: \"Admininistrator\" <root@aufbix.org>" -s "Poraba prostora `date +%d.%m.%y`";done\\
linux/tips.1236094993.txt.gz · Last modified: 2009/05/25 00:34 (external edit)
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 ipv6 ready