mirror of
https://github.com/clearlinux/systemd-stable.git
synced 2026-06-16 02:35:58 +00:00
journal: bump RLIMIT_NOFILE when journal files to 16K (if possible)
When there are a lot of split out journal files, we might run out of fds
quicker then we want. Hence: bump RLIMIT_NOFILE to 16K if possible.
Do these even for journalctl. On Fedora the soft RLIMIT_NOFILE is at 1K,
the hard at 4K by default for normal user processes, this code hence
bumps this up for users to 4K.
https://bugzilla.redhat.com/show_bug.cgi?id=1179980
(cherry picked from commit de45d72603)
Conflicts:
src/shared/util.h
This commit is contained in:
committed by
Zbigniew Jędrzejewski-Szmek
parent
fb25056a06
commit
40c20a4270
@@ -1729,6 +1729,11 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
signal(SIGWINCH, columns_lines_cache_reset);
|
||||
|
||||
/* Increase max number of open files to 16K if we can, we
|
||||
* might needs this when browsing journal files, which might
|
||||
* be split up into many files. */
|
||||
setrlimit_closest(RLIMIT_NOFILE, &RLIMIT_MAKE_CONST(16384));
|
||||
|
||||
if (arg_action == ACTION_NEW_ID128) {
|
||||
r = generate_new_id128();
|
||||
goto finish;
|
||||
|
||||
@@ -999,3 +999,5 @@ int unquote_many_words(const char **p, ...) _sentinel_;
|
||||
int free_and_strdup(char **p, const char *s);
|
||||
|
||||
int sethostname_idempotent(const char *s);
|
||||
|
||||
#define RLIMIT_MAKE_CONST(lim) ((struct rlimit) { lim, lim })
|
||||
|
||||
@@ -7103,6 +7103,11 @@ int main(int argc, char*argv[]) {
|
||||
goto finish;
|
||||
}
|
||||
|
||||
/* Increase max number of open files to 16K if we can, we
|
||||
* might needs this when browsing journal files, which might
|
||||
* be split up into many files. */
|
||||
setrlimit_closest(RLIMIT_NOFILE, &RLIMIT_MAKE_CONST(16384));
|
||||
|
||||
if (!avoid_bus())
|
||||
r = bus_open_transport_systemd(arg_transport, arg_host, arg_scope != UNIT_FILE_SYSTEM, &bus);
|
||||
|
||||
|
||||
@@ -20,5 +20,9 @@ PrivateNetwork=yes
|
||||
ProtectSystem=full
|
||||
ProtectHome=yes
|
||||
|
||||
# If there are many split upjournal files we need a lot of fds to
|
||||
# access them all and combine
|
||||
LimitNOFILE=16384
|
||||
|
||||
[Install]
|
||||
Also=systemd-journal-gatewayd.socket
|
||||
|
||||
@@ -17,5 +17,9 @@ PrivateTmp=yes
|
||||
PrivateDevices=yes
|
||||
WatchdogSec=20min
|
||||
|
||||
# If there are many split up journal files we need a lot of fds to
|
||||
# access them all and combine
|
||||
LimitNOFILE=16384
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -25,5 +25,7 @@ CapabilityBoundingSet=CAP_SYS_ADMIN CAP_DAC_OVERRIDE CAP_SYS_PTRACE CAP_SYSLOG C
|
||||
WatchdogSec=1min
|
||||
|
||||
# Increase the default a bit in order to allow many simultaneous
|
||||
# services being run since we keep one fd open per service.
|
||||
# services being run since we keep one fd open per service. Also, when
|
||||
# flushing journal files to disk, we might need a lot of fds when many
|
||||
# journal files are combined.
|
||||
LimitNOFILE=16384
|
||||
|
||||
Reference in New Issue
Block a user