Optional. Defines the transparent hugepage defrag configuration on the
node. VM hugepage allocation can be managed by either limiting
defragmentation for delayed allocation or skipping it entirely for
immediate allocation only.
Optional. Transparent hugepage support for anonymous memory can be entirely
disabled (mostly for debugging purposes) or only enabled inside
MADV_HUGEPAGE regions (to avoid the risk of consuming more memory
resources) or enabled system wide.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eLinuxNodeConfig\u003c/code\u003e class in the Google Kubernetes Engine v1 API allows for configuring parameters on Linux nodes within a cluster.\u003c/p\u003e\n"],["\u003cp\u003eThis class implements several interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, supporting various functionalities.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version available is \u003ccode\u003e3.33.0\u003c/code\u003e, but numerous older versions, down to \u003ccode\u003e2.3.0\u003c/code\u003e, are also documented with this page providing a list of the available versions.\u003c/p\u003e\n"],["\u003cp\u003eConfigurable properties within \u003ccode\u003eLinuxNodeConfig\u003c/code\u003e include \u003ccode\u003eCgroupMode\u003c/code\u003e, \u003ccode\u003eHugepages\u003c/code\u003e, and \u003ccode\u003eSysctls\u003c/code\u003e, which enable control over cgroup mode, hugepage allocation, and Linux kernel parameters.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eLinuxNodeConfig\u003c/code\u003e has two constructors, one being a parameterless constructor and the other accepting another \u003ccode\u003eLinuxNodeConfig\u003c/code\u003e as its parameter.\u003c/p\u003e\n"]]],[],null,["# Google Kubernetes Engine v1 API - Class LinuxNodeConfig (3.35.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.35.0 (latest)](/dotnet/docs/reference/Google.Cloud.Container.V1/latest/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.34.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.34.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.33.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.33.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.32.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.32.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.31.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.31.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.30.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.30.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.29.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.29.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.28.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.28.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.27.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.27.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.26.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.26.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.25.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.25.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.24.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.24.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.23.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.23.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.22.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.22.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.21.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.21.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.20.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.20.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.19.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.19.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.18.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.18.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.17.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.17.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.16.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.16.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.15.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.15.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.14.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.14.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.13.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.13.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.12.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.12.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.11.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.11.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.10.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.10.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.9.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.9.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.8.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.8.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.7.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.7.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.6.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.6.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.5.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.5.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.4.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.3.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.2.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.1.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [3.0.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.0.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [2.7.0](/dotnet/docs/reference/Google.Cloud.Container.V1/2.7.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [2.6.0](/dotnet/docs/reference/Google.Cloud.Container.V1/2.6.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.Container.V1/2.5.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.Container.V1/2.4.0/Google.Cloud.Container.V1.LinuxNodeConfig)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.Container.V1/2.3.0/Google.Cloud.Container.V1.LinuxNodeConfig) \n\n public sealed class LinuxNodeConfig : IMessage\u003cLinuxNodeConfig\u003e, IEquatable\u003cLinuxNodeConfig\u003e, IDeepCloneable\u003cLinuxNodeConfig\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Google Kubernetes Engine v1 API class LinuxNodeConfig.\n\nParameters that can be configured on Linux nodes. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e LinuxNodeConfig \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[LinuxNodeConfig](/dotnet/docs/reference/Google.Cloud.Container.V1/latest/Google.Cloud.Container.V1.LinuxNodeConfig), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[LinuxNodeConfig](/dotnet/docs/reference/Google.Cloud.Container.V1/latest/Google.Cloud.Container.V1.LinuxNodeConfig), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[LinuxNodeConfig](/dotnet/docs/reference/Google.Cloud.Container.V1/latest/Google.Cloud.Container.V1.LinuxNodeConfig), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Container.V1](/dotnet/docs/reference/Google.Cloud.Container.V1/latest/Google.Cloud.Container.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.Container.V1.dll\n\nConstructors\n------------\n\n### LinuxNodeConfig()\n\n public LinuxNodeConfig()\n\n### LinuxNodeConfig(LinuxNodeConfig)\n\n public LinuxNodeConfig(LinuxNodeConfig other)\n\nProperties\n----------\n\n### CgroupMode\n\n public LinuxNodeConfig.Types.CgroupMode CgroupMode { get; set; }\n\ncgroup_mode specifies the cgroup mode to be used on the node.\n\n### Hugepages\n\n public LinuxNodeConfig.Types.HugepagesConfig Hugepages { get; set; }\n\nOptional. Amounts for 2M and 1G hugepages\n\n### Sysctls\n\n public MapField\u003cstring, string\u003e Sysctls { get; }\n\nThe Linux kernel parameters to be applied to the nodes and all pods running\non the nodes.\n\nThe following parameters are supported.\n\nnet.core.busy_poll\nnet.core.busy_read\nnet.core.netdev_max_backlog\nnet.core.rmem_max\nnet.core.rmem_default\nnet.core.wmem_default\nnet.core.wmem_max\nnet.core.optmem_max\nnet.core.somaxconn\nnet.ipv4.tcp_rmem\nnet.ipv4.tcp_wmem\nnet.ipv4.tcp_tw_reuse\nnet.ipv4.tcp_max_orphans\nnet.netfilter.nf_conntrack_max\nnet.netfilter.nf_conntrack_buckets\nnet.netfilter.nf_conntrack_tcp_timeout_close_wait\nnet.netfilter.nf_conntrack_tcp_timeout_time_wait\nnet.netfilter.nf_conntrack_tcp_timeout_established\nnet.netfilter.nf_conntrack_acct\nkernel.shmmni\nkernel.shmmax\nkernel.shmall\nfs.aio-max-nr\nfs.file-max\nfs.inotify.max_user_instances\nfs.inotify.max_user_watches\nfs.nr_open\nvm.dirty_background_ratio\nvm.dirty_expire_centisecs\nvm.dirty_ratio\nvm.dirty_writeback_centisecs\nvm.max_map_count\nvm.overcommit_memory\nvm.overcommit_ratio\nvm.vfs_cache_pressure\nvm.swappiness\nvm.watermark_scale_factor\nvm.min_free_kbytes\n\n### TransparentHugepageDefrag\n\n public LinuxNodeConfig.Types.TransparentHugepageDefrag TransparentHugepageDefrag { get; set; }\n\nOptional. Defines the transparent hugepage defrag configuration on the\nnode. VM hugepage allocation can be managed by either limiting\ndefragmentation for delayed allocation or skipping it entirely for\nimmediate allocation only.\n\nSee \u003chttps://docs.kernel.org/admin-guide/mm/transhuge.html\u003e\nfor more details.\n\n### TransparentHugepageEnabled\n\n public LinuxNodeConfig.Types.TransparentHugepageEnabled TransparentHugepageEnabled { get; set; }\n\nOptional. Transparent hugepage support for anonymous memory can be entirely\ndisabled (mostly for debugging purposes) or only enabled inside\nMADV_HUGEPAGE regions (to avoid the risk of consuming more memory\nresources) or enabled system wide.\n\nSee \u003chttps://docs.kernel.org/admin-guide/mm/transhuge.html\u003e\nfor more details."]]