Crate rlimit[−][src]
Expand description
rlimit - A simple wrapper for getrlimit
and setrlimit
.
Examples
Set resource limit
use rlimit::{setrlimit, Resource}; const DEFAULT_SOFT_LIMIT: u64 = 4 * 1024 * 1024; const DEFAULT_HARD_LIMIT: u64 = 8 * 1024 * 1024; assert!(Resource::FSIZE.set(DEFAULT_SOFT_LIMIT, DEFAULT_HARD_LIMIT).is_ok()); let soft = 16384; let hard = soft * 2; assert!(setrlimit(Resource::NOFILE, soft, hard).is_ok());
Get resource limit
use rlimit::{getrlimit, Resource}; assert!(Resource::NOFILE.get().is_ok()); assert_eq!(getrlimit(Resource::CPU).unwrap(), (rlimit::INFINITY, rlimit::INFINITY));
Increase NOFILE limit
See the example nofile.
Troubleshoot
Failed to increase NOFILE to hard limit on macOS
On macOS, getrlimit by default reports that the hard limit is
unlimited, but there is usually a stricter hard limit discoverable
via sysctl (kern.maxfilesperproc
). Failing to discover this secret stricter hard limit will
cause the call to setrlimit to fail.
Structs
[Linux] A process’s resource limit field.
[Linux] A process’s resource limits. It is parsed from the proc filesystem.
A kind of resource.
Constants
A value indicating no limit.
A value indicating an unrepresentable saved soft limit.
A value indicating an unrepresentable saved hard limit.
Functions
Get resource limits.
[Linux] Set and get the resource limits of an arbitrary process.
Set resource limits.
Type Definitions
Integer type used for resource values.