Common Server issues – FAQs and answers from those in the know
Monit not killing long-running processes (>24h) on CentOS 7 even though uptime rule triggers
11 December 2025 @ 12:21 pm
I am trying to automatically kill any process that has been running for more than
24 hours on a CentOS 7 server. I’m using Monit for this because I want Monit to
detect long-running processes and execute a custom kill script.
To test it, I reduced the threshold to 30 seconds and used a dummy process:
sleep 5000 & echo $!
Monit configuration:
# /etc/monit.d/test_uptime.monitrc
check process test_sleep matching "sleep"
if uptime > 30 seconds then exec "/usr/local/bin/monit_kill_sleep.sh"
if does not exist then alert
Monit validates correctly:
sudo monit -t
Control file syntax OK
Monit also logs that the uptime rule is being triggered:
'test_sleep' uptime test failed for sleep -- current uptime is X seconds
'test_sleep' exec: '/usr/local/bin/monit_kill_sleep.sh'
My helper script logs when it runs:
===
Unable to create VM with NVIDIA T4 GPU even after quota approval
11 December 2025 @ 9:06 am
I am trying to create a Compute Engine VM with NVIDIA Tesla T4 GPUs. My GPU quota request was approved (GPUS_ALL_REGIONS = 4), but I still cannot create the VM.
Every time I try to create the instance, I receive the following error:
“A n1-standard-4 VM instance with 4 nvidia-tesla-t4 accelerator(s) is currently unavailable in this zone.”
I have tried multiple regions and zones, including:
asia-south1 (a/b/c)(Mumbai)
asia-south2 (a/b/c)(Delhi)
us-central1 (a/b/c/f)(towa)
I also tried changing the GPU count (1,4 GPUs), but the error remains the same.
It seems like GPU capacity is not available for my project, even though the quota is approved.
Project ID: wise-waste-464708
Could someone guide me on how to resolve this issue or how to check which regions/zones currently have available T4 GPU capacity?
Thank you.
What reason for application (SOLR) having its own timezone setting, and why would it still be different?
11 December 2025 @ 8:56 am
I have installed Apache SOLR for audit use with Apache Ranger. The config file (solr.in.sh) has a timezone setting, which defaults to UTC, but I have it set to Europe/Bratislava the same as the host it resides on. In fact, both SOLR nodes have their own but exactly same config.
There are audit entries in Ranger today but they are (currently) timestamped in the future. This makes no sense. Surely, with both settings the same then the timestamps should be the same. The software having its own time setting seems problematic.
Where can I see the cost per hour or number of requests per hour in Google Cloud Platform?
11 December 2025 @ 6:35 am
I'm trying to understand my usage patterns and costs on Google Cloud Platform.
Specifically, I would like to see:
Cost per hour, not just per day or per month
Number of requests per hour
I am mostly interested in Vertex AI.
I’ve checked the Billing section, but I can’t find an hourly view for either cost or request volume. I only see a daily view:
Selecting only one day didn't help.
Is there a place in GCP where I can see hourly costs or hourly request counts? If not directly, what tools or configurations would provide this information?
Selecting only one day didn't help.
Is there a place in GCP where I can see hourly costs or hourly request counts? If not directly, what tools or configurations would provide this information?Should I store my domain admin passwords & user passwords in separate files?
11 December 2025 @ 5:33 am
In my Ansible based email server automation project, I generate random passwords for domain admins, and users/mailboxes, and store them in a JSON file.
In addition to using them in the automation process, the main purpose of this is to create a documentation to handover to the client, and I expect and advice them change all passwords after the testing is done.
What would be the best approach when creating this JSON file(s) consideration automation process and the security?
chrony refclock "not valid age"
11 December 2025 @ 3:19 am
I have a system that take GPS time as the only source. An issue of the system is that it would set time to 2024 which is one year early from now when doing a full reset which then trigger the "not valid age" error due to huge time difference.
static int
valid_sample_time(RCL_Instance instance, struct timespec *sample_time)
{
struct timespec now;
double diff;
LCL_ReadCookedTime(&now, NULL);
diff = UTI_DiffTimespecsToDouble(&now, sample_time);
if (diff < 0.0 || diff > UTI_Log2ToDouble(instance->poll + 1)) {
DEBUG_LOG("%s refclock sample time %s not valid age=%.6f",
UTI_RefidToString(instance->ref_id),
UTI_TimespecToString(sample_time), diff);
return 0;
}
return 1;
}
from refclock.c
So far I can modfiy the source code to bypass this part and make chrony work again.
My question is that can this be resolved by tweaking chrony.conf rather than modifying the
Ubuntu Server on ARM fails to boot after cloning EFI partition from HDD to SSD
11 December 2025 @ 1:46 am
Description:
I’m unable to boot Ubuntu Server after migrating the system from an HDD to an SSD on an ARM-based system. Here’s what I did and the current state:
Steps to reproduce:
I cloned the EFI partition from my original HDD (/dev/sdc1) to a new SSD (/dev/sde1) using mount and cp (or another cloning tool). Both partitions are 500 GB.
Set the SSD as the boot drive in UEFI/BIOS as the first priority.
Current behavior:
When booting, GNU GRUB (version 2.12) only shows one option:
*UEFI Firmware Settings
No Ubuntu boot entry appears, and I cannot proceed to the OS.
Seeing only "UEFI Firmware Settings" in GRUB usually means GRUB
isn't detecting your Linux kernel or other OS entries, often due to
incorrect EFI System Partition (ESP) mounting, missing kernel modules,
issues d
Determine the IPv4 pMTU to/from a system behind a NAT with directional information
10 December 2025 @ 5:42 pm
Is there an easy way to determine the IPv4 pMTU (path MTU) between two Linux systems, when one of them is behind a NAT and determine in what direction packets are being dropped and where? I have root access to both systems.
Situation in detail.
xxxx
+------+ +------+ xxxxxxxxxx xxx +------+
| | | | x xx | |
| A +-----+ NAT +-----x Internet x----+ B |
| | | | x xxxxx | |
+------+ +------+ x xx +------+
xx xxx
xxxxxx x
xx xxxx
I can ping B from A, but of course cannot ping A from B because of the NAT device. I have access to the NAT device but am sceptical about some of the information it shows and it is not as flexible as a linux s
Microsoft are refusing to deliver our server emails
10 December 2025 @ 4:53 pm
The email feedback stats:
> LOG: MAIN cwd=/usr/local/cpanel/whostmgr/docroot 4 args:
> /usr/sbin/exim -v -M 1vTFQx-000000006bI-3Seh delivering
> 1vTFQx-000000006bI-3Seh LOG: MAIN Unfrozen by forced delivery LOG:
> MAIN Sender identification U=mailnull D=-system- S=mailnull
> Connecting to outlook-com.olc.protection.outlook.com [52.101.41.25]:25
> ... non-TFO mode connection attempt to 52.101.41.25, 0 data connected
> SMTP<< 220 SJ1PEPF0000231A.mail.protection.outlook.com Microsoft ESMTP
> MAIL Service ready at Wed, 10 Dec 2025 16:42:29 +0000
> [08DE2E6E2E888588] SMTP>> EHLO basic.coreone.co.uk SMTP<<
> 250-SJ1PEPF0000231A.mail.protection.outlook.com Hello [213.171.205.123]
> 250-SIZE 49283072
> 250-PIPELINING
> 250-DSN
> 250-ENHANCEDSTATUSCODES
> 250-STARTTLS
> 250-8BITMIME
> 250-BINARYMIME
> 250-CHUNKING
>
Get 404 error for rewrite URL with query string
10 December 2025 @ 4:39 pm
I cannot change my URL e.g. /dfdrgr.php?page=dfgfg to /rrrr. I’ve a .txt file contained e.g.
/rrrr /dfdrgr.php?page=dfgfg;
and a redirected.map file contained:
# Redirects map file – auto generated
include /home/fxg/conf/web/ron.click/redirects.txt;
And a redirects.conf contaned:
# Nginx map block – auto generated
map $uri $rewrite_target {
default "";
include /home/fxg/conf/web/ron.click/redirects.map;
}
map $rewrite_target $should_redirect {
"" 0;
default 1;
}
The nginx.conf is contained:
#=========================================================================#
Default Web Domain Template
DO NOT MODIFY THIS FILE! CHANGES WILL BE LOST WHEN REBUILDING DOMAINS
#=========================================================================#
server {
listen 88.121.229.139:80;
server_name ron.