5D Library › Ketone Metabolism, β-Hydroxybutyrate Signalling and the Bioenergetics of Intermittent Fasting · 中文
Chapter 6 Keto-Adaptation: the Kidney, Sodium and Water
Why the first days feel bad
Many people who start a very-low-carbohydrate diet or a longer fast feel tired, dizzy, headachy or palpitations in the first few days, see stars when they stand up, or get calf cramps; online this is often called “keto flu”.
Evidence
There is little systematic research on “keto flu”. Bostock and colleagues analysed self-reports on online forums and found that common symptoms included fatigue, headache, dizziness, nausea and “brain fog”, mostly appearing in the first week and resolving within days to weeks (Bostock et al. 2020). Self-reports of this kind are strongly selected; they cannot give an incidence or establish a cause.
A widely accepted physiological explanation involves how the kidney handles sodium and water. This chapter illustrates it with two simplified models.
Insulin and renal sodium
Besides regulating blood glucose, insulin acts on the renal tubules to promote sodium reabsorption.
Evidence
DeFronzo and colleagues used insulin clamps in healthy people, raising insulin while holding blood glucose constant, and found a clear fall in urinary sodium excretion, independent of changes in blood glucose and filtered load (DeFronzo et al. 1975).
Conversely, when carbohydrate intake drops sharply and insulin falls, the kidney reabsorbs less sodium and more sodium and water appear in the urine: natriuresis. Within a few days the renin–angiotensin–aldosterone system is activated and pulls sodium excretion back; aldosterone promotes sodium reabsorption and also increases potassium excretion.
Calculation
An illustrative model of renal sodium handling: the insulin index falls to a low level within about a day, creating an extra natriuretic drive; aldosterone catches up over about three days and offsets it; extracellular fluid volume follows total extracellular sodium (at 140 mmol per litre); and potassium excretion rises with aldosterone. Two cases are compared: salt intake kept as usual, and salt intake also cut sharply.
# The 'keto-adaptation' days, as a toy model of renal sodium handling (illustrative parameters).
# Insulin promotes sodium reabsorption in the kidney (DeFronzo et al. 1975); when carbohydrate intake is cut
# sharply, the insulin index I falls over about a day, and sodium excretion rises (natriuresis).
# Over several days the renin-angiotensin-aldosterone system pushes back (adaptation variable a).
# Extracellular fluid (ECF) volume follows total ECF sodium at 140 mmol/L. Potassium excretion rises
# with aldosterone. Units: mmol, litres, days. dt = 0.01 day.
import math
def run(na_intake, days=10, k_intake=70.0):
Na0 = 140 * 14.0 # ~14 L ECF at 140 mmol/L
Na, a, k_extra, out = Na0, 0.0, 0.0, []
base = 150.0 # usual intake the body is adapted to (mmol/day)
dt = 0.01
for i in range(int(days / dt) + 1):
t = i * dt
I = 0.3 + 0.7 * math.exp(-t / 1.0)
n = 1.6 * (1 - I) # extra natriuretic drive
excr = base * (Na / Na0) ** 4 * (1 + n - a) # pressure/volume feedback + insulin effect
if abs(t - round(t)) < dt / 2:
out.append((round(t), excr, Na / 140 - 14.0, k_extra))
Na += (na_intake - excr) * dt
a += (0.8 * n - a) / 3.0 * dt # aldosterone catches up over ~3 days
k_extra += k_intake * 0.4 * a * dt # extra K lost with aldosterone
return out
for intake, label in ((150, "usual salt intake kept"), (80, "salt intake also cut")):
print(f"{label} ({intake} mmol sodium/day):")
print(" day | Na excreted mmol/day | ECF volume change L | cumulative extra K lost mmol")
for d, e, dv, k in run(intake):
if d in (0, 1, 2, 3, 5, 7, 10):
print(f" {d:3d} | {e:20.0f} | {dv:19.2f} | {k:27.0f}")
# usual salt intake kept (150 mmol sodium/day):
# day | Na excreted mmol/day | ECF volume change L | cumulative extra K lost mmol
# 0 | 150 | 0.00 | 0
# 1 | 219 | -0.34 | 1
# 2 | 202 | -0.79 | 6
# 3 | 179 | -1.08 | 16
# 5 | 151 | -1.26 | 46
# 7 | 142 | -1.19 | 86
# 10 | 142 | -1.01 | 155
# salt intake also cut (80 mmol sodium/day):
# day | Na excreted mmol/day | ECF volume change L | cumulative extra K lost mmol
# 0 | 150 | 0.00 | 0
# 1 | 194 | -0.75 | 1
# 2 | 164 | -1.47 | 6
# 3 | 135 | -1.96 | 16
# 5 | 101 | -2.47 | 46
# 7 | 87 | -2.66 | 86
# 10 | 80 | -2.72 | 155The model reproduces the main points of the explanation. First, sodium excretion peaks in the first day or two and then falls back as aldosterone compensates. Second, extracellular fluid falls by about 1.3 litres over the first five days; if salt intake is also cut sharply (many people starting a low-carbohydrate diet also eat fewer processed foods and so less salt), the fall approaches 2.7 litres and does not recover within ten days. Lower extracellular fluid and blood volume can explain dizziness on standing and a faster heartbeat. Third, the rise in aldosterone increases potassium excretion, which may be linked to some people’s fatigue and muscle cramps.
Note
This book gives no doses for electrolyte supplements. Whether anyone needs more sodium, potassium or magnesium, and how much, depends on their blood pressure, kidney function, heart and medications. For people with high blood pressure, heart failure or kidney disease, or taking diuretics or certain blood-pressure drugs, raising sodium or potassium intake on their own can be dangerous. Marked palpitations, fainting or persistent muscle cramps are reasons to stop and see a doctor, not to self-supplement.
Glycogen and water
The quick change in body weight in the first days has another source unrelated to sodium: glycogen is stored with water.
Evidence
Olsson and Saltin found that total body water changed in step with muscle glycogen, by roughly 3–4 g of water per gram of glycogen (Olsson and Saltin 1970); later muscle-biopsy work gives about 3 g (Fernández-Elías et al. 2015).
Calculation
The glycogen used, with its bound water, in several situations (illustrative stores: about 90 g in an adult liver and 400 g in skeletal muscle), set beside the loss of extracellular fluid.
# Why the scale moves fast in the first days of a very-low-carbohydrate diet or a fast, and why
# most of that early change is not fat. Glycogen is stored with water: roughly 3 g of water per g of
# glycogen in human muscle (estimates in the literature range from about 3 to 4 g).
# Stores are illustrative for an adult: liver ~90 g, skeletal muscle ~400 g when well fed.
WATER_PER_G = 3.0
scenarios = {
"overnight fast (12 h)": {"liver": 35, "muscle": 0},
"36 h fast": {"liver": 80, "muscle": 60},
"first week of a ketogenic diet": {"liver": 60, "muscle": 150},
}
ECF_SODIUM_L = 1.2 # litres of extracellular fluid lost with sodium (from the previous program)
FAT_KCAL = 7700 # kcal per kg of adipose tissue (approximate)
for name, lost in scenarios.items():
g = lost["liver"] + lost["muscle"]
water = g * WATER_PER_G / 1000
extra = ECF_SODIUM_L if "week" in name else 0.0
print(f"{name:31s}: glycogen used {g:3d} g -> glycogen + bound water {g / 1000 + water:.2f} kg"
+ (f", plus ~{extra:.1f} L extracellular fluid" if extra else ""))
# For comparison only (not a target): the energy of adipose tissue matching a 500 kcal/day gap for a week
print(f" (a 500 kcal/day deficit for 7 days corresponds to ~{500 * 7 / FAT_KCAL:.2f} kg of adipose tissue)")
# overnight fast (12 h) : glycogen used 35 g -> glycogen + bound water 0.14 kg
# 36 h fast : glycogen used 140 g -> glycogen + bound water 0.56 kg
# first week of a ketogenic diet : glycogen used 210 g -> glycogen + bound water 0.84 kg, plus ~1.2 L extracellular fluid
# (a 500 kcal/day deficit for 7 days corresponds to ~0.45 kg of adipose tissue)An overnight fast uses only a few tens of grams of liver glycogen, about 0.14 kg with its bound water; the first week of a ketogenic diet uses liver glycogen and part of muscle glycogen totalling about 0.84 kg with bound water, plus about 1.2 litres of extracellular fluid. Together that is about 2 kg, while the adipose tissue corresponding to a 500 kcal daily energy gap over the same week is only about 0.45 kg. So most of the rapid weight loss in the first week of a low-carbohydrate diet is water, not fat, and it returns quickly once carbohydrate is eaten again. That is neither failure nor success, just the physiology of glycogen and water.
Summary
In the first days of a very-low-carbohydrate diet or a fast, falling insulin makes the kidney excrete more sodium and water, and extracellular fluid shrinks; aldosterone compensates within days and increases potassium excretion. This can explain common symptoms such as dizziness, palpitations and fatigue, though there is little systematic research on “keto flu”. Most of the rapid change in weight in the first week comes from glycogen with its bound water and from extracellular fluid. The next chapter returns to classical texts to see how the ancients spoke about not eating.
References
Fan, Y. (2026). Ketone Metabolism, β-Hydroxybutyrate Signalling and the Bioenergetics of Intermittent Fasting: From the Randle Cycle and Epigenetic Inhibition to Autophagy Kinetics, Read Beside Classical Chinese Fasting Texts [酮体代谢、β-羟丁酸信号转导与间歇性禁食的生物能量学] (Version 1.0.0). 5D Library. https://doi.org/10.5281/zenodo.23753263 · Licensed under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0).