During these tests I saw this error (and so had to re-arrgange my scripts and try again):
ORA-00821: Specified value of sga_target 16M is too small, needs to be at least 2032M
Even the instance started fine with a smaller cpu_count, it seems the SGA needs to grow when more CPUs are used. So it's worth to re-run the test and see, what's the minimum SGA per CPU. (Again, these tests are made on my sandbox with Version 21.8 - your values might differ).
My measurement tells me SGA requirements between 260MB for 1 CPU and 11568MB for 255 CPUs (the raw data can be seen here).
It looks there is a quite linear growth, and this is also confirmed:
Call:lm(formula = sga ~ cpu, data = data)Residuals:Min 1Q Median 3Q Max-91.887 -55.661 -3.829 48.098 116.941Coefficients:Estimate Std. Error t value Pr(>|t|)(Intercept) 112.25259 7.38744 15.2 <2e-16 ***cpu 44.50121 0.05003 889.5 <2e-16 ***---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 58.81 on 253 degrees of freedomMultiple R-squared: 0.9997, Adjusted R-squared: 0.9997F-statistic: 7.912e+05 on 1 and 253 DF, p-value: < 2.2e-16
The core message is: SGA requirements starts with 112.3MB and adds about 44.5MB for each CPU.
Even the graph looks quite straight, there is a little deviation from the numbers. To make them visible, I generated the delta and get this plot.
Even the graph looks quite straight, there is a little deviation from the numbers. To make them visible, I generated the delta and get this plot.
It seems the residuals smile at me. We can also see the calculation up to 32 cpus is slightly different than the remaining, it drops to a minimum (negative residual) at 112 and then increases again. Beside this major pattern there are smaller groups also visible, this indicates different (internal) functions have their own increments and together, they provide this picture.
Please be aware the units: in the first picture we have units of GB, de residuals are shown in MB. Over all they are still small.
(In case you want to play with the data, my R commands are available)
You might think this is all irrelevant as with huge number of CPUS there also comes huge amount of memory which can be used for SGA. But at least for XE on nodes with many CPUs, there is a real impact (with a simple solution).
Keine Kommentare:
Kommentar veröffentlichen