cl-update cron job killing my laptop

This beast runs every hour and drags my laptop into the mud each time. It seems really questionable whether it really needs to do this every hour - isn’t 1 update window per day sufficient?

If I change the cron job to execute in the middle of the night but my laptop is suspended or hibernated, will it then run that job whenever I power it on again?

Is there no way that cl-update could invoke “git” to check whether is a more recent commit than the local repository before invoking a full-fledged pull or whatever it does?

Hi Scott,

cl-setup-update --autocheck-interval 3d

or

cl-setup-update --autocheck off

Thanks, that’s very helpful.

It would be helpful if there were an option to query the current autocheck interval setting.

Also, would it be possible to make the check for updates less intense by comparing the last commit in the local git vs the remote git before doing a “git pull”?

It would be helpful if there were an option to query the current autocheck interval setting.

cl-core-variables-show --filter cl_update_autocheck_set
cl-core-variables-show --filter cl_update_autocheck_interval

local settings:

cat /etc/calculate/calculate.env

Also, would it be possible to make the check for updates less intense by comparing the last commit in the local git vs the remote git before doing a “git pull”?

Utilities perform ‘git pull’ to see and calculate dependencies, then to cache the result.

P.S. Calcuate Linux 15 will perform the check for updates without Git synchronization.

How long does it cache the result of the “git pull” and is that also a set-able parameter?

Will look forward to CL-15!

Caches the results of calculation of dependency, not ‘git pull’. If you have made changes to /etc/portage or packages have been installed, the cache is cleaned.

A little more information as a result of creating a wrapper script to record git invocations. This is what I see every hour (note that the cl-update cron job runs at 29 minutes after the hour):
Mon Sep 14 13:29:10 CDT 2015
/usr/bin/git --git-dir /usr/portage/.git --work-tree /usr/portage status -b --porcelain
0.48user 2.91system 1:55.45elapsed 2%CPU (0avgtext+0avgdata 170992maxresident)k
554352inputs+0outputs (37major+7658minor)pagefaults 0swaps

Mon Sep 14 13:31:06 CDT 2015
/usr/bin/git --git-dir /var/lib/layman/calculate/.git --work-tree /var/lib/layman/calculate status -b --porcelain
0.03user 0.15system 0:04.83elapsed 3%CPU (0avgtext+0avgdata 21632maxresident)k
52848inputs+0outputs (25major+797minor)pagefaults 0swaps

Mon Sep 14 13:31:11 CDT 2015
/usr/bin/git --git-dir /var/lib/layman/distros/.git --work-tree /var/lib/layman/distros status -b --porcelain
0.00user 0.00system 0:00.58elapsed 1%CPU (0avgtext+0avgdata 13216maxresident)k
2968inputs+0outputs (4major+173minor)pagefaults 0swaps

Mon Sep 14 14:29:39 CDT 2015
/usr/bin/git --git-dir /usr/portage/.git --work-tree /usr/portage status -b --porcelain
0.53user 4.09system 9:27.24elapsed 0%CPU (0avgtext+0avgdata 170528maxresident)k
940584inputs+0outputs (13659major+19856minor)pagefaults 0swaps

Mon Sep 14 14:39:07 CDT 2015
/usr/bin/git --git-dir /var/lib/layman/calculate/.git --work-tree /var/lib/layman/calculate status -b --porcelain
0.02user 0.16system 0:05.47elapsed 3%CPU (0avgtext+0avgdata 21552maxresident)k
59584inputs+0outputs (28major+807minor)pagefaults 0swaps

Mon Sep 14 14:39:13 CDT 2015
/usr/bin/git --git-dir /var/lib/layman/distros/.git --work-tree /var/lib/layman/distros status -b --porcelain
0.00user 0.00system 0:00.25elapsed 2%CPU (0avgtext+0avgdata 13216maxresident)k
3224inputs+0outputs (8major+170minor)pagefaults 0swaps

Mon Sep 14 15:29:09 CDT 2015
/usr/bin/git --git-dir /usr/portage/.git --work-tree /usr/portage status -b --porcelain
0.52user 2.59system 2:03.44elapsed 2%CPU (0avgtext+0avgdata 171456maxresident)k
653944inputs+0outputs (27major+7794minor)pagefaults 0swaps

Mon Sep 14 15:31:14 CDT 2015
/usr/bin/git --git-dir /var/lib/layman/calculate/.git --work-tree /var/lib/layman/calculate status -b --porcelain
0.03user 0.15system 0:04.36elapsed 4%CPU (0avgtext+0avgdata 21632maxresident)k
54480inputs+0outputs (26major+803minor)pagefaults 0swaps

Mon Sep 14 15:31:18 CDT 2015
/usr/bin/git --git-dir /var/lib/layman/distros/.git --work-tree /var/lib/layman/distros status -b --porcelain
0.00user 0.00system 0:00.21elapsed 3%CPU (0avgtext+0avgdata 13264maxresident)k
2968inputs+0outputs (4major+175minor)pagefaults 0swaps

Mon Sep 14 16:29:10 CDT 2015
/usr/bin/git --git-dir /usr/portage/.git --work-tree /usr/portage status -b --porcelain
0.48user 2.79system 1:58.98elapsed 2%CPU (0avgtext+0avgdata 171616maxresident)k
627144inputs+0outputs (32major+7796minor)pagefaults 0swaps

Mon Sep 14 16:31:10 CDT 2015
/usr/bin/git --git-dir /var/lib/layman/calculate/.git --work-tree /var/lib/layman/calculate status -b --porcelain
0.02user 0.15system 0:04.04elapsed 4%CPU (0avgtext+0avgdata 21584maxresident)k
54504inputs+0outputs (27major+811minor)pagefaults 0swaps

Mon Sep 14 16:31:14 CDT 2015
/usr/bin/git --git-dir /var/lib/layman/distros/.git --work-tree /var/lib/layman/distros status -b --porcelain
0.00user 0.00system 0:00.22elapsed 3%CPU (0avgtext+0avgdata 13248maxresident)k
2968inputs+0outputs (4major+174minor)pagefaults 0swaps

My concern is that every hour this git update for /usr/portage does a very large amount of disk reads in spite of the fact that I’ve configured my updates to happen only once very day (my /var/log/calculate/lastcommand.log updates once per day). This really kills responsiveness on my laptop (Dell E6500 w/4 GB memory).

Anxiously waiting for Calculate Linux 15.

I’ve been hoping to see an improvement, but my laptops are still getting eaten alive every hour. My settings are for autocheck only daily:

+---------------------------------------+----+--------+-----+
|Variable                               |Mode|Location|Value|
+---------------------------------------+----+--------+-----+
|update.cl_update_autocheck_interval    | wc | system |1d   |
|update.cl_update_autocheck_schedule_set| wb |        |off  |
|update.cl_update_autocheck_set         | wb | system |on   |
+---------------------------------------+----+--------+-----+

But here’s a sample of what I see hourly:
Sun Oct 11 12:09:17 CDT 2015
/usr/bin/git --git-dir /var/lib/layman/distros/.git show --format=format:%H --quiet 17
0.00user 0.02system 0:00.75elapsed 3%CPU (0avgtext+0avgdata 11888maxresident)k
5976inputs+0outputs (41major+150minor)pagefaults 0swaps
Sun Oct 11 12:09:18 CDT 2015
/usr/bin/git --git-dir /var/lib/layman/distros/.git show --format=format:%H --quiet HEAD
0.00user 0.00system 0:00.02elapsed 26%CPU (0avgtext+0avgdata 12128maxresident)k
8inputs+0outputs (0major+183minor)pagefaults 0swaps
Sun Oct 11 12:09:18 CDT 2015
/usr/bin/git --git-dir /var/lib/layman/distros/.git --work-tree /var/lib/layman/distros status -b --porcelain
0.01user 0.02system 0:00.51elapsed 7%CPU (0avgtext+0avgdata 13088maxresident)k
2360inputs+0outputs (16major+194minor)pagefaults 0swaps
Sun Oct 11 12:09:18 CDT 2015
/usr/bin/git --git-dir /var/lib/layman/calculate/.git show --format=format:%H --quiet 66
0.08user 0.07system 0:03.22elapsed 4%CPU (0avgtext+0avgdata 27120maxresident)k
9832inputs+0outputs (141major+690minor)pagefaults 0swaps
Sun Oct 11 12:09:22 CDT 2015
/usr/bin/git --git-dir /var/lib/layman/calculate/.git show --format=format:%H --quiet HEAD
0.07user 0.01system 0:00.10elapsed 85%CPU (0avgtext+0avgdata 27200maxresident)k
8inputs+0outputs (0major+818minor)pagefaults 0swaps
Sun Oct 11 12:09:22 CDT 2015
/usr/bin/git --git-dir /var/lib/layman/calculate/.git --work-tree /var/lib/layman/calculate status -b --porcelain
0.18user 0.56system 0:02.96elapsed 25%CPU (0avgtext+0avgdata 20816maxresident)k
30736inputs+0outputs (47major+765minor)pagefaults 0swaps
Sun Oct 11 12:09:25 CDT 2015
/usr/bin/git --git-dir /usr/portage/.git show --format=format:%H --quiet 67
1.13user 0.20system 0:08.37elapsed 16%CPU (0avgtext+0avgdata 222208maxresident)k
53784inputs+0outputs (254major+8458minor)pagefaults 0swaps
Sun Oct 11 12:09:34 CDT 2015
/usr/bin/git --git-dir /usr/portage/.git show --format=format:%H --quiet HEAD
0.89user 0.08system 0:01.05elapsed 93%CPU (0avgtext+0avgdata 222592maxresident)k
8inputs+0outputs (0major+8569minor)pagefaults 0swaps
Sun Oct 11 12:09:35 CDT 2015
/usr/bin/git --git-dir /usr/portage/.git --work-tree /usr/portage status -b --porcelain
*1.50user 7.81system 0:58.04elapsed 16%CPU (0avgtext+0avgdata 157456maxresident)k
383056inputs+0outputs (1major+6362minor)pagefaults 0swaps*
Sun Oct 11 12:20:26 CDT 2015
/usr/bin/git --git-dir /usr/portage/.git show --format=format:%H --quiet HEAD
0.88user 0.19system 0:12.12elapsed 8%CPU (0avgtext+0avgdata 221584maxresident)k
58176inputs+0outputs (268major+8420minor)pagefaults 0swaps
Sun Oct 11 12:20:38 CDT 2015
/usr/bin/git --git-dir /var/lib/layman/calculate/.git show --format=format:%H --quiet HEAD
0.07user 0.08system 0:04.65elapsed 3%CPU (0avgtext+0avgdata 26752maxresident)k
12096inputs+0outputs (141major+687minor)pagefaults 0swaps
Sun Oct 11 12:20:43 CDT 2015
/usr/bin/git --git-dir /var/lib/layman/distros/.git show --format=format:%H --quiet HEAD
0.00user 0.02system 0:00.46elapsed 5%CPU (0avgtext+0avgdata 12128maxresident)k
2216inputs+0outputs (27major+156minor)pagefaults 0swaps

I highlighted only the most crushing of the git runs, but I’d have thought I shouldn’t see any since I’ve got autocheck set to only happen daily. The only way I’ve found of getting this under control is to either comment out the cron job or manually hack it to run only once per day.

Problem will be fixed in calculate-utils-3.4.1.4.