With a 5 GigaWatt generation of power, caused by heavy industry with motor driven inductive loads it raises the reactive current which doesn't get counted as "real" power consumption but is a cost to the provider, as it reduces the capacity limited by current in distribution losses. Motors have inductance but do work (consume real power) and have losses and dissipate heat from many causes, such as winding resistance.

To resolve this, switchable capacitor banks are manually or automatically adjusted near the sub-stations to raise the power factor and reduce the peak current back to the source. They select +VARS of phase leading current from banks to offset some of the -VARS from the loads to reduce distribution losses and improve capacity for real power to be sold.

So even though as consumers we are measured by real power, with all our fridge and air condition motors running, power providers need to raise the power factor when additional capacity is required or to reduce the distribution losses which can be as much as 10% in cable resistive loss. But in large hydro power stations this is still the most efficient power source.




the above answer was intended to offer a bigger picture of what power factor means to a 5GW power station. We obviously are not dealing with just inductors here but in general "inductive loads". Inductive Power factor is different from power Factor caused the growing issues of SMPS effects of current pulses before peak voltage. Olin has already clearly stated the theory &amp; fundamentals already. So maybe this should just be a side comment to put it in perspective on a large scale power network. I was not trying to compete with a better answer, just add practical value.




Power loss from an inductive load
My question is probably not related to Ubuntu in particular, but since my desktop running this OS, I came to this forum.

I am trying to change the core file size using ulimit -c command as follows:

$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 7959
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited


Changing the limitation:

$ ulimit -c unlimited


Observing the result:

$ ulimit -a
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 7959
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited


Indeed the limit is changed.
However, when I open another terminal and check the value, I still see zero value in core file size.

Questions:


Are changes made using ulimit command affect only current process, i.e. in this case the bash?
I launch a program from shell as a fore- or-background process. Does the ulimit change apply for new process ?
How can I make that all user processes are affected with this configuration ?

