Flexible plans have a base cost for fixed memory and storage resources, but CPU and bandwidth are billed based entirely on usage. These plans are marked "Flexible" in the plan list (from "Flexible 2048" to "Flexible 32768"). Unlike other plans, you can use allocated CPU cores on Flexible plans as much or as little as desired.
Pricing is as follows:
- Base cost: this is the hourly pricing for the fixed memory and storage resources displayed at https://dynamic.lunanode.com/info (which does not include any CPU or bandwidth resources).
- CPU: $16.00 per CPU-core-month, billed by percent usage per hour. For example, if you use 20% of each of four cores over one week, then the total CPU charge is 0.2 * 4 * (16/4) = $3.20 (in addition to the base cost and any bandwidth charges). Similarly, the maximum monthly CPU charge is $16.00 multiplied by the number of available virtual cores. Note: $16.00 per CPU-core-month is roughly equivalent to $0.0222 per CPU-core-hour.
- Bandwidth: $0.003/GB -- this is the same as our excessive bandwidth rate, and charges in the panel will appear under excessive bandwidth category.
Note: Flexible plans are currently only available on local storage. The panel will display an error if you attempt to boot a volume-backed instance with a Flexible plan.
CPU time is calculated based on data in /proc/<pid>/stat for the KVM process and /proc/stat for global usage. The utime and stime fields in /proc/<pid>/stat are added to calculate VM clock ticks. This is compared to sum of user, system, and idle field in /proc/stat to calculate global clock ticks. The percent usage, then, is VM clock ticks divided global clock ticks, multiplied by the number of CPU cores on the compute node. See http://man7.org/linux/man-pages/man5/proc.5.html for details.
Bandwidth is the sum of outgoing and incoming traffic that passes through the gateway router. This does not include internal traffic between VMs.
Note that bandwidth is billed as part of the bandwidth pool system, so this really works by having Flexible plans add 0 bandwidth to the account-wide per-region pool. If you have non-flexible virtual machines as well in the same region (e.g. Toronto, Montreal), then you will be able to use unused bandwidth from those VMs on the current calendar month without being charged.