mirror of
				https://github.com/immich-app/immich.git
				synced 2025-11-04 03:27:09 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
set -eu
 | 
						|
 | 
						|
LOG_LEVEL="${IMMICH_LOG_LEVEL:='info'}"
 | 
						|
 | 
						|
logDebug() {
 | 
						|
    if [ "$LOG_LEVEL" = "debug" ] || [ "$LOG_LEVEL" = "verbose" ]; then
 | 
						|
        echo "DEBUG: $1" >&2
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
if [ -f /sys/fs/cgroup/cgroup.controllers ]; then
 | 
						|
    logDebug "cgroup v2 detected."
 | 
						|
    if [ -f /sys/fs/cgroup/cpu.max ]; then
 | 
						|
        read -r quota period </sys/fs/cgroup/cpu.max
 | 
						|
        if [ "$quota" = "max" ]; then
 | 
						|
            logDebug "No CPU limits set."
 | 
						|
            unset quota period
 | 
						|
        fi
 | 
						|
    else
 | 
						|
        logDebug "/sys/fs/cgroup/cpu.max not found."
 | 
						|
    fi
 | 
						|
else
 | 
						|
    logDebug "cgroup v1 detected."
 | 
						|
 | 
						|
    if [ -f /sys/fs/cgroup/cpu/cpu.cfs_quota_us ] && [ -f /sys/fs/cgroup/cpu/cpu.cfs_period_us ]; then
 | 
						|
        quota=$(cat /sys/fs/cgroup/cpu/cpu.cfs_quota_us)
 | 
						|
        period=$(cat /sys/fs/cgroup/cpu/cpu.cfs_period_us)
 | 
						|
 | 
						|
        if [ "$quota" = "-1" ]; then
 | 
						|
            logDebug "No CPU limits set."
 | 
						|
            unset quota period
 | 
						|
        fi
 | 
						|
    else
 | 
						|
        logDebug "/sys/fs/cgroup/cpu/cpu.cfs_quota_us or /sys/fs/cgroup/cpu/cpu.cfs_period_us not found."
 | 
						|
    fi
 | 
						|
fi
 | 
						|
 | 
						|
if [ -n "${quota:-}" ] && [ -n "${period:-}" ]; then
 | 
						|
    cpus=$((quota / period))
 | 
						|
    if [ "$cpus" -eq 0 ]; then
 | 
						|
        cpus=1
 | 
						|
    fi
 | 
						|
else
 | 
						|
    cpus=$(grep -c ^processor /proc/cpuinfo)
 | 
						|
fi
 | 
						|
 | 
						|
echo "$cpus"
 |