Allow recollindex to adjust its oom killer "badness" on startup
This commit is contained in:
parent
2e6b25b1a8
commit
31348b5470
@ -148,8 +148,7 @@ static void sigcleanup(int sig)
|
|||||||
stopindexing = 1;
|
stopindexing = 1;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
cerr << "Recollindex: got signal " << sig <<
|
cerr << "Recollindex: got signal " << sig << ", registering stop request\n";
|
||||||
", registering stop request\n";
|
|
||||||
LOGDEB("Got signal " << sig << ", registering stop request\n");
|
LOGDEB("Got signal " << sig << ", registering stop request\n");
|
||||||
CancelCheck::instance().setCancel();
|
CancelCheck::instance().setCancel();
|
||||||
stopindexing = 1;
|
stopindexing = 1;
|
||||||
@ -169,6 +168,7 @@ static void makeIndexerOrExit(RclConfig *config, bool inPlaceReset)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Adjust IO priority (if available), and also Linux Out-Of-Memory killer badness (idem)
|
||||||
void rclIxIonice(const RclConfig *config)
|
void rclIxIonice(const RclConfig *config)
|
||||||
{
|
{
|
||||||
PRETEND_USE(config);
|
PRETEND_USE(config);
|
||||||
@ -179,6 +179,18 @@ void rclIxIonice(const RclConfig *config)
|
|||||||
// Classdata may be empty (must be for idle class)
|
// Classdata may be empty (must be for idle class)
|
||||||
config->getConfParam("monioniceclassdata", classdata);
|
config->getConfParam("monioniceclassdata", classdata);
|
||||||
rclionice(clss, classdata);
|
rclionice(clss, classdata);
|
||||||
|
|
||||||
|
std::string choompath;
|
||||||
|
if (ExecCmd::which("choom", choompath) && !choompath.empty()) {
|
||||||
|
std::string oomadj = "300";
|
||||||
|
config->getConfParam("oomadj", oomadj);
|
||||||
|
std::string spid = lltodecstr(getpid());
|
||||||
|
ExecCmd cmd;
|
||||||
|
std::string msg;
|
||||||
|
cmd.doexec(choompath, {"-n", oomadj, "-p", spid}, nullptr, &msg);
|
||||||
|
LOGDEB("rclIxIonice: oomadj output: " << msg);
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user