Compare commits
	
		
			2 Commits 
		
	
	
		
			c193d574e3
			...
			54458dafc4
		
	
	| Author | SHA1 | Date | 
|---|---|---|
| 
							
							
								
									
								
								 | 
						54458dafc4 | |
| 
							
							
								
									
								
								 | 
						f76a3bec5b | 
| 
						 | 
					@ -0,0 +1,10 @@
 | 
				
			||||||
 | 
					[Unit]
 | 
				
			||||||
 | 
					Description=Tweak CPU usage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Service]
 | 
				
			||||||
 | 
					Type=simple
 | 
				
			||||||
 | 
					ExecStart=%h/.local/bin/tweak-cpu-usage
 | 
				
			||||||
 | 
					Restart=on-failure
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Install]
 | 
				
			||||||
 | 
					WantedBy=default.target
 | 
				
			||||||
| 
						 | 
					@ -25,7 +25,7 @@ if  is_readable_file "$pkgbuild_path" &&
 | 
				
			||||||
  [ $(git status --porcelain --no-renames PKGBUILD | wc -l) -lt 1 ]; then
 | 
					  [ $(git status --porcelain --no-renames PKGBUILD | wc -l) -lt 1 ]; then
 | 
				
			||||||
#    ! is_readable_file "$pkgbuild_copy_path";then
 | 
					#    ! is_readable_file "$pkgbuild_copy_path";then
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  #eval $(grep -Pazo '[^[:print:]][[:blank:]]*_?(pkg.*|name)=(\((.|\n)*?\)|[^#]*?(?= *#|\x0a))' ./PKGBUILD | grep -Eva '\$\(|`|pkgdesc')
 | 
					  #eval $(grep -Pazo '[^[:print:]][[:blank:]]*_?(pkg.*|name)=(\((.|\n)*?\)|[^#]*?(?= +#|\x0a))' ./PKGBUILD | grep -Eva '\$\(|`|pkgdesc')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  #if [[ -n "${pkgname:-''}" ]];then
 | 
					  #if [[ -n "${pkgname:-''}" ]];then
 | 
				
			||||||
  #  global_conf_path="${GLOBAL_CONF_DIR_PATH}/${pkgname}"
 | 
					  #  global_conf_path="${GLOBAL_CONF_DIR_PATH}/${pkgname}"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,36 @@
 | 
				
			||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					set -e
 | 
				
			||||||
 | 
					set -u
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cores=$(nproc)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					limits=(
 | 
				
			||||||
 | 
					  # process_name:limit%
 | 
				
			||||||
 | 
					  firefox:$(( 50 * cores ))
 | 
				
			||||||
 | 
					  vesktop:$(( 20 * cores ))
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# check for cpulimit command
 | 
				
			||||||
 | 
					if ! command -v cpulimit 2>/dev/null >/dev/null; then
 | 
				
			||||||
 | 
					  echo "ERROR: need cpulimit command" >&2
 | 
				
			||||||
 | 
					  exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					limit_process() {
 | 
				
			||||||
 | 
					  local process_name="$1"
 | 
				
			||||||
 | 
					  local limit_percentage="${2%%.}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  cpulimit -i -e "$process_name" -l "$limit_percentage"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					limit_processes() {
 | 
				
			||||||
 | 
					  local pids
 | 
				
			||||||
 | 
					  pids=()
 | 
				
			||||||
 | 
					  for limit in "${limits[@]}"; do
 | 
				
			||||||
 | 
					    IFS=: read process_name limit_percentage <<<"$limit"
 | 
				
			||||||
 | 
					    limit_process "$process_name" "$limit_percentage" & pids+=($!) 
 | 
				
			||||||
 | 
					  done
 | 
				
			||||||
 | 
					  wait "${pids[@]}"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					limit_processes
 | 
				
			||||||
| 
						 | 
					@ -61,3 +61,9 @@ install_files "/etc" etc
 | 
				
			||||||
if command -v fc-cache >/dev/null 2>&1; then
 | 
					if command -v fc-cache >/dev/null 2>&1; then
 | 
				
			||||||
	fc-cache -f
 | 
						fc-cache -f
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if command -v systemctl >/dev/null 2>&1; then
 | 
				
			||||||
 | 
						systemctl --user daemon-reload
 | 
				
			||||||
 | 
						systemctl --user enable tweak-cpu-usage
 | 
				
			||||||
 | 
						systemctl --user restart tweak-cpu-usage
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue