Files
scylladb/scripts/jobs
Avi Kivity 0ae22a09d4 LICENSE: Update to version 1.1
Updated terms of non-commercial use (must be a never-customer).
2026-04-12 19:46:33 +03:00

30 lines
701 B
Python
Executable File

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright (C) 2018-present ScyllaDB
#
#
# SPDX-License-Identifier: LicenseRef-ScyllaDB-Source-Available-1.1
#
# Guess and print out a good number of compiler jobs to
# run. Note that on an interactive desktop you will want
# to reduce this to allow more memory for your desktop,
# to avoid swapping. This is oriented at continuous
# integration machines that do not serve an interactive
# load as well.
import os
procs = os.sysconf('SC_NPROCESSORS_ONLN')
mem = os.sysconf('SC_PHYS_PAGES') * os.sysconf('SC_PAGESIZE')
mem_reserve = 1000000000
job_mem = 4000000000
jobs = min(procs, (mem-mem_reserve) // job_mem)
jobs = max(jobs, 1)
print(jobs)